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网络编程学习笔记(三):socket网络服务器
Jun 09 Python
django接入新浪微博OAuth的方法
Jun 29 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
Python常用爬虫代码总结方便查询
Feb 25 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
Python + OpenCV 实现LBP特征提取的示例代码
Jul 11 Python
Django使用Channels实现WebSocket的方法
Jul 28 Python
python中的split()函数和os.path.split()函数使用详解
Dec 21 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
python利用线程实现多任务
Sep 18 Python
python可视化大屏库big_screen示例详解
Nov 23 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
php生成EAN_13标准条形码实例
2013/11/13 PHP
php获取字段名示例分享
2014/03/03 PHP
简单实现php上传文件功能
2017/09/21 PHP
Laravel下生成验证码的类
2017/11/15 PHP
PHP fprintf()函数用法讲解
2019/02/16 PHP
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
python自动化测试实例解析
2014/09/28 Python
Python中的类与对象之描述符详解
2015/03/27 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
.NET面试10题
2014/02/24 面试题
金融专业个人求职信
2013/09/22 职场文书
应届毕业生就业自荐信
2013/10/26 职场文书
自我鉴定模板
2013/10/29 职场文书
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
单位实习证明怎么写
2014/01/17 职场文书
公司员工检讨书
2014/02/08 职场文书
节约用水演讲稿
2014/05/21 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
先进班组事迹材料
2014/12/25 职场文书
Python字符串对齐方法使用(ljust()、rjust()和center())
2021/04/26 Python
Python基于百度AI实现抓取表情包
2021/06/27 Python