当前位置:   article > 正文

【pandas的dataframe过滤数据方法】

dataframe过滤数据
  1. 选取某一列中大于某个值的行:
df[df['column_name'] > value]
  • 1
  1. 选取某一列中满足多个条件的行:
df[(df['column_name'] > value1) & (df['column_name'] < value2)]
  • 1
  1. 选取某一列中不等于某个值的行:
df[df['column_name'] != value]
  • 1
  1. 选取某一列中包含某个字符串的行:
df[df['column_name'].str.contains('string')]
  • 1
  1. 选取多个列中满足某个条件的行:
df[(df['column_name1'] > value1) & (df['column_name2'] < value2)]
  • 1

在以上例子中,df是pandas DataFrame对象,‘column_name’、‘column_name1’、'column_name2’是DataFrame的列名,value、value1、value2是筛选条件。通过这些布尔索引的使用,可以方便地选取满足特定条件的行。

演示demo

假设有一个包含电影信息的数据集,包含电影名称、导演、评分等信息。数据集如下:

电影名称导演评分
TitanicJames Cameron7.8
AvatarJames Cameron8.5
The Shawshank RedemptionFrank Darabont9.3
The GodfatherFrancis Ford Coppola9.2
The Dark KnightChristopher Nolan9.0
InceptionChristopher Nolan8.8

下面是使用布尔索引过滤数据的例子:

import pandas as pd

# 读取数据
data = pd.read_csv('movies.csv')

# 选取评分大于8.0的电影
high_rated_movies = data[data['评分'] > 8.0]

# 选取由Christopher Nolan执导的电影
nolan_movies = data[data['导演'] == 'Christopher Nolan']

# 选取电影名称中包含"Redemption"的电影
redemption_movies = data[data['电影名称'].str.contains('Redemption')]

# 输出结果
print(high_rated_movies)
print(nolan_movies)
print(redemption_movies)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

输出结果如下:


             电影名称                    导演   评分
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在以上例子中,第一个过滤条件是选取评分大于8.0的电影,第二个过滤条件是选取由Christopher Nolan执导的电影,第三个过滤条件是选取电影名称中包含"Redemption"的电影。根据这些过滤条件,我们可以得到不同的结果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/601037
推荐阅读
相关标签
  

闽ICP备14008679号