Python中pandas的dataframe过滤数据方法
- 选取某一列中大于某个值的行:
df[df['column_name'] > value]
- 选取某一列中满足多个条件的行:
df[(df['column_name'] > value1) & (df['column_name'] < value2)]
- 选取某一列中不等于某个值的行:
df[df['column_name'] != value]
- 选取某一列中包含某个字符串的行:
df[df['column_name'].str.contains('string')]- 选取多个列中满足某个条件的行:
df[(df['column_name1'] > value1) & (df['column_name2'] < value2)]
在以上例子中,df是pandas DataFrame对象,‘column_name’、‘column_name1’、'column_name2’是DataFrame的列名,value、value1、value2是筛选条件。通过这些布尔索引的使用,可以方便地选取满足特定条件的行。
演示demo
假设有一个包含电影信息的数据集,包含电影名称、导演、评分等信息。数据集如下:
| 电影名称 | 导演 | 评分 |
| Titanic | James Cameron | 7.8 |
| Avatar | James Cameron | 8.5 |
| The Shawshank Redemption | Frank Darabont | 9.3 |
| The Godfather | Francis Ford Coppola | 9.2 |
| The Dark Knight | Christopher Nolan | 9.0 |
| Inception | Christopher Nolan | 8.8 |
下面是使用布尔索引过滤数据的例子:
输出结果如下:
电影名称 导演 评分
0 Titanic James Cameron 7.8
1 Avatar James Cameron 8.5
2 The Shawshank Redemption Frank Darabont 9.3
3 The Godfather Francis Ford Coppola 9.2
4 The Dark Knight Christopher Nolan 9.0
5 Inception Christopher Nolan 8.8电影名称 导演 评分
4 The Dark Knight Christopher Nolan 9.0
5 Inception Christopher Nolan 8.8电影名称 导演 评分
2 The Shawshank Redemption Frank Darabont 9.3
在以上例子中,第一个过滤条件是选取评分大于8.0的电影,第二个过滤条件是选取由Christopher Nolan执导的电影,第三个过滤条件是选取电影名称中包含"Redemption"的电影。根据这些过滤条件,我们可以得到不同的结果。
到此这篇关于Python中pandas的dataframe过滤数据方法的文章就介绍到这了,更多相关pandas的dataframe过滤数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决Pycharm在Debug的时候一直“Connected”没有下一步动作问题
这篇文章主要介绍了解决Pycharm在Debug的时候一直“Connected”没有下一步动作问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-08-08
一文带你深入理解Flask中的Session和Cookies
Flask,作为一个灵活的微型 web 框架,提供了会话(Session)和 Cookies 管理的能力,本文将深入探讨 Flask 中的会话和 Cookies 的概念、工作机制以及应用实例,希望对大家有所帮助2023-12-12


最新评论