📅  最后修改于: 2023-12-03 14:58:04.105000             🧑  作者: Mango
在 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 中的列可以帮助我们获取到需要的数据,并且避免使用不必要的数据。在实际操作中,我们也可以通过不同的方法来过滤不同的数据集,提高数据分析的效率。