python中pandas.DataFrame排除特定行方法示例


Posted in Python onMarch 12, 2017

前言

大家在使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,关于python中pandas.DataFrame的基本操作,大家可以查看这篇文章。

pandas.DataFrame排除特定行

如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选。

但是如果我们只想要所有内容中不包含特定行的内容,却并没有一个isnotin()方法。我今天的工作就遇到了这样的需求,经常查找之后,发现只能换种方式使用isin()来实现这个需求。

示例如下:

In [3]: df = pd.DataFrame([['GD', 'GX', 'FJ'], ['SD', 'SX', 'BJ'], ['HN', 'HB'
 ...: , 'AH'], ['HEN', 'HEN', 'HLJ'], ['SH', 'TJ', 'CQ']], columns=['p1', 'p2
 ...: ', 'p3'])

In [4]: df
Out[4]:
 p1 p2 p3
0 GD GX FJ
1 SD SX BJ
2 HN HB AH
3 HEN HEN HLJ
4 SH TJ CQ

如果只想要p1为GD和HN的两行,可以这么做:

In [8]: df[df.p1.isin(['GD', 'HN'])]
Out[8]:
 p1 p2 p3
0 GD GX FJ
2 HN HB AH

但是如果我们想要除了这两行之外的数据,就需要绕点路了。

原理是先把p1取出并转换为列表,然后再从列表中去不需要的行(值)去除,然后再在DataFrame中使用isin()

In [9]: ex_list = list(df.p1)

In [10]: ex_list.remove('GD')

In [11]: ex_list.remove('HN')

In [12]: ex_list
Out[12]: ['SD', 'HEN', 'SH']

In [13]: df[df.p1.isin(ex_list)]
Out[13]:
 p1 p2 p3
1 SD SX BJ
3 HEN HEN HLJ
4 SH TJ CQ

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python的正则表达式re模块的常用方法
Mar 09 Python
全面了解python字符串和字典
Jul 07 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 Python
pandas去重复行并分类汇总的实现方法
Jan 29 Python
python实现日志按天分割
Jul 22 Python
Django之模板层的实现代码
Sep 09 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
python创建子类的方法分析
Nov 28 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
May 27 Python
详解Python自动化之文件自动化处理
Jun 21 Python
Python中functools模块函数解析
Mar 12 #Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
Mar 12 #Python
Python中str.format()详解
Mar 12 #Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 #Python
Python中关键字nonlocal和global的声明与解析
Mar 12 #Python
Python中模块string.py详解
Mar 12 #Python
Python中第三方库Requests库的高级用法详解
Mar 12 #Python
You might like
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
php探针不显示内存解决方法
2019/09/17 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
基于JavaScript实现随机点名器
2021/02/25 Javascript
简单介绍Python中的floor()方法
2015/05/15 Python
python获得一个月有多少天的方法
2015/06/04 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python list元素为tuple时的排序方法
2018/04/18 Python
pytorch 数据集图片显示方法
2018/07/26 Python
python找出完数的方法
2018/11/12 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
python输出pdf文档的实例
2020/02/13 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
佳能德国网上商店:Canon德国
2017/03/18 全球购物
三年级语文教学反思
2014/02/01 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
公司车队管理制度
2015/08/04 职场文书