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中super的用法实例
May 28 Python
Python 多线程Threading初学教程
Aug 22 Python
Python字典数据对象拆分的简单实现方法
Dec 05 Python
Python面向对象class类属性及子类用法分析
Feb 02 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
Jul 03 Python
Django之模板层的实现代码
Sep 09 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
Python面向对象原理与基础语法详解
Jan 02 Python
python实现三壶谜题的示例详解
Nov 02 Python
Python中time与datetime模块使用方法详解
Mar 31 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 动态随机生成验证码类代码
2010/04/09 PHP
PHP is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
js验证上传图片的方法
2015/05/12 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
python登录并爬取淘宝信息代码示例
2017/12/09 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
Python分类测试代码实例汇总
2020/07/23 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
区分python中的进程与线程
2020/08/13 Python
如何使用Pytorch搭建模型
2020/10/26 Python
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
苹果美国官方商城:Apple美国
2016/08/24 全球购物
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
《少年王勃》教学反思
2014/04/27 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
实习推荐信格式模板
2015/03/27 职场文书
环境卫生整治简报
2015/07/20 职场文书
2019年农民幸福观调查的实践感悟
2019/12/19 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
90后经典动画片排行:《数码宝贝》第二,《小鲤鱼历险记》在榜
2022/03/18 日漫
TV动画《间谍过家家》公开PV
2022/03/20 日漫