Pandas删除数据的几种情况(小结)


Posted in Python onJune 21, 2019

开始之前,pandas中DataFrame删除对象可能存在几种情况

1、删除具体列
2、删除具体行
3、删除包含某些数值的行或者列
4、删除包含某些字符、文字的行或者列

本文就针对这四种情况探讨一下如何操作。

数据准备

模拟了一份股票交割的记录。

In [1]: import pandas as pd

In [2]: data = {
  ...:   '证券名称' : ['格力电器','视觉中国','成都银行','中国联通','格力电器','视觉中国','成都银行','中国联通'],
  ...:   '摘要': ['证券买入','证券买入','证券买入','证券买入','证券卖出','证券卖出','证券卖出','证券卖出'],
  ...:   '成交数量' : [500,1000,1500,2000,500,500,1000,1500],
  ...:   '成交金额' : [-5000,-10000,-15000,-20000,5500,5500,11000,15000]
  ...: }
  ...: 

In [3]: df = pd.DataFrame(data, index = ['2018-2-1','2018-2-1','2018-2-1','2018-2-1','2018-2-2','2018-2-2','2018-2-2','2018-2-3'])

In [4]: df
Out[4]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1  500 -5000 证券买入 格力电器
2018-2-1 1000 -10000 证券买入 视觉中国
2018-2-1 1500 -15000 证券买入 成都银行
2018-2-1 2000 -20000 证券买入 中国联通
2018-2-2  500  5500 证券卖出 格力电器
2018-2-2  500  5500 证券卖出 视觉中国
2018-2-2 1000 11000 证券卖出 成都银行
2018-2-3 1500 15000 证券卖出 中国联通

删除具体列

In [5]: df.drop('成交数量',axis=1)
Out[5]: 
      成交金额  摘要 证券名称
2018-2-1 -5000 证券买入 格力电器
2018-2-1 -10000 证券买入 视觉中国
2018-2-1 -15000 证券买入 成都银行
2018-2-1 -20000 证券买入 中国联通
2018-2-2  5500 证券卖出 格力电器
2018-2-2  5500 证券卖出 视觉中国
2018-2-2 11000 证券卖出 成都银行
2018-2-3 15000 证券卖出 中国联通

删除具体行

In [6]: df.drop('2018-2-3')
Out[6]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1  500 -5000 证券买入 格力电器
2018-2-1 1000 -10000 证券买入 视觉中国
2018-2-1 1500 -15000 证券买入 成都银行
2018-2-1 2000 -20000 证券买入 中国联通
2018-2-2  500  5500 证券卖出 格力电器
2018-2-2  500  5500 证券卖出 视觉中国
2018-2-2 1000 11000 证券卖出 成都银行

也可以根据行号删除记录,比如删除第三行

In [22]: df.drop(df.index[7])
Out[22]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1  500 -5000 证券买入 格力电器
2018-2-1 1000 -10000 证券买入 视觉中国
2018-2-1 1500 -15000 证券买入 成都银行
2018-2-1 2000 -20000 证券买入 中国联通
2018-2-2  500  5500 证券卖出 格力电器
2018-2-2  500  5500 证券卖出 视觉中国
2018-2-2 1000 11000 证券卖出 成都银行

注意,这个办法其实不是按照行号删除,而是按照索引删除。如果index为3,则会将前4条记录都删除。这个方法支持一个范围,以及用负数表示从末尾删除。

删除特定数值的行(删除成交金额小于10000)

In [7]: df[ df['成交金额'] > 10000]
Out[7]: 
     成交数量  成交金额  摘要 证券名称
2018-2-2 1000 11000 证券卖出 成都银行
2018-2-3 1500 15000 证券卖出 中国联通

本例其实是筛选,如果需要保留,可以将筛选后的对象赋值给自己即可。

删除某列包含特殊字符的行

In [11]: df[ ~ df['证券名称'].str.contains('联通') ]
Out[11]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1  500 -5000 证券买入 格力电器
2018-2-1 1000 -10000 证券买入 视觉中国
2018-2-1 1500 -15000 证券买入 成都银行
2018-2-2  500  5500 证券卖出 格力电器
2018-2-2  500  5500 证券卖出 视觉中国
2018-2-2 1000 11000 证券卖出 成都银行

如果想取包含某些字符的记录,可以去掉~

In [12]: df[ df['证券名称'].str.contains('联通') ]
Out[12]: 
     成交数量  成交金额  摘要 证券名称
2018-2-1 2000 -20000 证券买入 中国联通
2018-2-3 1500 15000 证券卖出 中国联通

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python生成随机mac地址的方法
Mar 16 Python
Python ldap实现登录实例代码
Sep 30 Python
python使用Tkinter实现在线音乐播放器
Jan 30 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
实例讲解Python脚本成为Windows中运行的exe文件
Jan 24 Python
python try 异常处理(史上最全)
Mar 07 Python
python psutil模块使用方法解析
Aug 01 Python
Django实现网页分页功能
Oct 31 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
Feb 22 Python
深入探讨opencv图像矫正算法实战
May 21 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 Python
pandas.read_csv参数详解(小结)
Jun 21 #Python
pandas 数据结构之Series的使用方法
Jun 21 #Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 #Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 #Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 #Python
十分钟搞定pandas(入门教程)
Jun 21 #Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 #Python
You might like
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
laravel自定义分页效果
2017/07/23 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
Python创建系统目录的方法
2015/03/11 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
Python合并多个Excel数据的方法
2018/07/16 Python
基于python实现学生管理系统
2018/10/17 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
python实现图片转字符小工具
2019/04/30 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
python3 配置logging日志类的操作
2020/04/08 Python
python实现计算图形面积
2021/02/22 Python
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
Linux的文件类型
2016/07/05 面试题
我的网上商城创业计划书
2013/12/26 职场文书
岗位竞聘书范文
2014/03/31 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
创业计划书之水果店
2019/07/18 职场文书