📅  最后修改于: 2023-12-03 15:38:58.233000             🧑  作者: Mango
在数据处理中,我们经常需要从数据帧(DataFrame)中过滤出特定元素的行。 Pandas 是 Python 库中用于数据处理和分析的常用工具之一。 本篇文章将介绍如何使用 Pandas 过滤数据帧,只保留其中满足特定条件的行,如元素是否在指定的列表中。
首先,让我们创建一些示例数据。我们将使用 Pandas 的 DataFrame
方法创建一个 5 行 3 列的数据帧,并将其打印出来:
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'Age': [25, 35, 30, 23, 28],
'Favourite Colour': ['blue', 'green', 'red', 'green', 'yellow']}
df = pd.DataFrame(data)
print(df)
代码输出:
Name Age Favourite Colour
0 Alice 25 blue
1 Bob 35 green
2 Tom 30 red
3 David 23 green
4 Eva 28 yellow
现在,让我们假设我们只想保留“Favourite Colour”列中的元素为 green
或 yellow
的所有行。我们可以使用 Pandas 的 isin
方法来实现。以下是代码片段:
mask = df['Favourite Colour'].isin(['green', 'yellow'])
filtered_df = df[mask]
print(filtered_df)
代码输出:
Name Age Favourite Colour
1 Bob 35 green
3 David 23 green
4 Eva 28 yellow
在上述代码中,我们首先使用 isin
方法生成一个布尔掩码,它的作用是指示“Favourite Colour”列中的元素是否在列表 [green, yellow]
中。 然后,我们使用该掩码过滤原始数据帧并保存结果。 最后,我们打印出过滤后的数据帧以进行检查。
在本文中,我们介绍了如何使用 Pandas 过滤数据帧以只保留满足特定条件的行,如元素是否在列表中。我们使用的方法是 isin
方法,该方法返回一个布尔掩码,这是 Pandas 过滤数据帧的基础。 通过组合使用 Pandas 中的其他方法,我们可以更加灵活和高效地处理数据帧中的数据,为数据分析和机器学习提供有力的工具支持。