📅  最后修改于: 2023-12-03 15:33:24.526000             🧑  作者: Mango
在使用Pandas进行数据处理时,有时需要按照特定的值来过滤数据。本文介绍的方法可以在Pandas中使用列表中的值来过滤行。
首先,让我们创建一个包含姓名、性别和年龄的示例数据:
import pandas as pd
data = [['Alex', 'M', 25],
['Bob', 'M', 30],
['Clarke', 'F', 28],
['Dave', 'M', 20],
['Elton', 'M', 40]]
df = pd.DataFrame(data, columns=['name', 'gender', 'age'])
print(df)
输出结果:
name gender age
0 Alex M 25
1 Bob M 30
2 Clarke F 28
3 Dave M 20
4 Elton M 40
接下来,让我们使用一个包含要过滤的年龄的列表来过滤数据,并返回所有符合条件的行:
age_filter = [25, 30, 40]
filtered_df = df[df['age'].isin(age_filter)]
print(filtered_df)
输出结果:
name gender age
0 Alex M 25
1 Bob M 30
4 Elton M 40
可以看到,输出的结果只包含年龄为25、30和40的行,符合我们的要求。
使用上述方法,可以按照列表中的任意值来过滤Pandas数据框中的行。函数 isin()
的参数可以是任何可枚举对象,比如列表、元组、集合等。