📜  pandas 按列表中的值过滤行 - Python (1)

📅  最后修改于: 2023-12-03 15:33:24.526000             🧑  作者: Mango

pandas 按列表中的值过滤行 - Python

在使用Pandas进行数据处理时,有时需要按照特定的值来过滤数据。本文介绍的方法可以在Pandas中使用列表中的值来过滤行。

1. 创建示例数据

首先,让我们创建一个包含姓名、性别和年龄的示例数据:

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
2. 使用列表过滤行

接下来,让我们使用一个包含要过滤的年龄的列表来过滤数据,并返回所有符合条件的行:

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的行,符合我们的要求。

3. 结论

使用上述方法,可以按照列表中的任意值来过滤Pandas数据框中的行。函数 isin() 的参数可以是任何可枚举对象,比如列表、元组、集合等。