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

 更新时间:2017年03月12日 15:16:44   作者:吴志  
这篇文章主要给大家介绍了关于python中pandas.DataFrame排除特定行的方法,文中给出了详细的示例代码,相信对大家的理解和学习具有一定的参考价值,需要的朋友们下面来一起看看吧。

前言

大家在使用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 Socket编程之多线程聊天室

    Python Socket编程之多线程聊天室

    这篇文章主要为大家详细介绍了Python Socket编程之多线程聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Python 2与Python 3版本和编码的对比

    Python 2与Python 3版本和编码的对比

    这篇文章主要介绍了Python 2与Python 3版本和编码的对比,文中介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • Python中Arrow库的时间操作技法总结

    Python中Arrow库的时间操作技法总结

    Arrow是一个功能强大、易用且具有优雅设计的Python日期时间库,它建立在Python的datetime模块之上,旨在弥补datetime模块在处理日期时间时的一些不足之处,下面我们就来了解一下Arrow库的常见时间操作吧
    2023-12-12
  • tensorflow2.0的函数签名与图结构(推荐)

    tensorflow2.0的函数签名与图结构(推荐)

    这篇文章主要介绍了tensorflow2.0的函数签名与图结构,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Django中数据库迁移常用的命令小结

    Django中数据库迁移常用的命令小结

    在Django中数据库迁移用于保持数据库结构与模型定义同步,这篇文章主要介绍了Django中数据库迁移常用的命令,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • Python中is和==的区别详解

    Python中is和==的区别详解

    这篇文章主要介绍了Python中is和==的区别详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 如何利用python创建、读取和修改CSV数据文件

    如何利用python创建、读取和修改CSV数据文件

    csv文件与txt文件类似,区别点就是在csv文件中,字段间使用“,”或“|”隔开,达到类似与表格的效果,下面这篇文章主要给大家介绍了关于如何利用python创建、读取和修改CSV数据文件的相关资料,需要的朋友可以参考下
    2022-05-05
  • 学会python操作excel永不加班系列

    学会python操作excel永不加班系列

    这篇文章主要介绍了python操作excel的详解,,需要的朋友可以参考下,小编觉得这篇文章写的还不错,希望能够给你带来帮助
    2021-11-11
  • 简单学习Python time模块

    简单学习Python time模块

    这篇文章主要和大家一起简单学习一下Python time模块,Python time模块提供了一些用于管理时间和日期的C库函数,对time模块感兴趣的小伙伴们可以参考一下
    2016-04-04
  • python基础之循环语句

    python基础之循环语句

    这篇文章主要介绍了python的循环语句,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10

最新评论