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

📅  最后修改于: 2023-12-03 14:58:04.105000             🧑  作者: Mango

通过值列表过滤 Pandas 中的列 - Python

在 Pandas 中,我们可以通过值列表来过滤 DataFrame 中的列。这种过滤方式可以让我们只保留需要的行和列,去除不必要的数据。本文将介绍如何通过值列表过滤 Pandas 中的列。

准备工作

在介绍过滤方法之前,我们需要先创建一个示例数据集,这里我们使用 Pandas 的 DataFrame 来创建一个包含多个列和行的数据集。

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
        'gender': ['female', 'male', 'male', 'male', 'female'],
        'age': [25, 30, 20, 40, 35],
        'score': [90, 80, 70, 60, 85]}

df = pd.DataFrame(data)
print(df)

输出结果如下:

       name  gender  age  score
0     Alice  female   25     90
1       Bob    male   30     80
2   Charlie    male   20     70
3     David    male   40     60
4       Eva  female   35     85
通过值列表过滤列

我们可以通过 Pandas 的 isin() 方法来筛选出符合某些条件的行和列,并将筛选结果保存到新的 DataFrame 中。下面我们将使用 isin() 方法来获取 "name" 和 "age" 列中包含 "Bob" 和 "David" 的行,并将结果保存到新的 DataFrame 中。

df_filtered = df.loc[df['name'].isin(['Bob', 'David']) & df['age'].isin([30, 40]), ['name', 'age']]

print(df_filtered)

输出结果如下:

    name  age
1    Bob   30
3  David   40
总结

通过值列表过滤 Pandas 中的列可以帮助我们获取到需要的数据,并且避免使用不必要的数据。在实际操作中,我们也可以通过不同的方法来过滤不同的数据集,提高数据分析的效率。