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中的pygal安装和绘制直方图代码分享
Dec 08 Python
Python文件操作基本流程代码实例
Dec 11 Python
将python代码和注释分离的方法
Apr 21 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
python求质数的3种方法
Sep 28 Python
Python 占位符的使用方法详解
Jul 10 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
使用Python画出小人发射爱心的代码
Nov 23 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
python全栈开发语法总结
Nov 22 Python
python matlab库简单用法讲解
Dec 31 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 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实现多张图片上传加水印技巧
2013/04/18 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
js读写(删除)Cookie实例详解
2013/04/17 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
Python中返回字典键的值的values()方法使用
2015/05/22 Python
Python在线运行代码助手
2016/07/15 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
机械专业应届生求职信
2013/09/21 职场文书
工作的心得体会
2013/12/31 职场文书
应用艺术专业个人的自我评价
2014/01/03 职场文书
八年级音乐教学反思
2014/01/09 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
国际商务专业求职信
2014/07/15 职场文书
党员四风剖析材料
2014/08/27 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
员工规章制度范本
2015/08/07 职场文书
《小小的船》教学反思
2016/02/18 职场文书