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算法之栈(stack)的实现
Aug 18 Python
python读写二进制文件的方法
May 09 Python
Python作用域用法实例详解
Mar 15 Python
python使用电子邮件模块smtplib的方法
Aug 28 Python
机器学习python实战之决策树
Nov 01 Python
Python通过调用mysql存储过程实现更新数据功能示例
Apr 03 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
Aug 02 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
python必学知识之文件操作(建议收藏)
May 30 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
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
PHP 文件上传功能实现代码
2009/06/24 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
Java中final关键字详解
2015/08/10 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
JsDom 编程小结
2011/08/09 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
jquery实现轮播图效果
2017/02/13 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
Nodejs实现用户注册功能
2019/04/14 NodeJs
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
python出现"IndentationError: unexpected indent"错误解决办法
2017/10/15 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
详解python中init方法和随机数方法
2019/03/13 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
巴塞罗那观光通票:Barcelona Pass
2019/10/30 全球购物
教师节促销活动方案
2014/02/14 职场文书
三项教育活动实施方案
2014/03/30 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
质量安全标语
2014/06/07 职场文书
岳麓书院导游词
2015/02/03 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL