Pandas series.filter() 方法的作用是什么?

pandasserver side programmingprogramming更新于 2025/10/12 3:52:17

Pandas series 构造函数中的 series.filter() 方法用于根据索引标签对 series 对象的行进行子集化。filter 方法不适用于 series 对象的内容,它仅适用于 series 对象的索引标签。

如果指定的标签与 series 的索引标签不匹配,该方法不会引发错误。

filter() 方法的参数包括 items、like、regex 和 axis。items 参数接受一个类似列表的对象,用于访问给定 series 对象的行集合。 regex 参数用于定义可用于检索系列行的正则表达式。

示例 1

在下面的示例中,我们将通过向 filter() 方法指定索引标签列表来筛选出 Pandas 系列对象中的部分行。

# 导入 pandas 包
import pandas as pd

# 创建 Pandas 系列对象
series = pd.Series({'B':'black','Y':'yellow','W':'white','R':'red', 'Bl':'blue','G':'green','S':'silver','M':'maroon'})

print('Original Series:')
print(series)

print('Output:')
# 应用过滤方法
print(series.filter(['B','R','G','M']))

解释

首先,我们使用一个包含键值对的 Python 字典创建了一个 Series 对象。这里,索引标签是使用字典的键创建的。

输出

输出如下所示 −

Original Series:
B    black
Y    yellow
W    white
R    red
Bl    blue
G    green
S    silver
M    maroon
dtype: object

Output:
B    black
R    red
G    green
M    maroon
dtype: object

我们已成功从初始系列对象中过滤掉指定的行。生成的序列对象与输入序列对象的数据类型相同。

示例 2

我们使用另一个序列对象,通过索引标签过滤单行数据。我们必须将单个标签值作为可迭代对象的元素,否则会报错。

# 导入 pandas 包
import pandas as pd

# 创建 pandas 序列对象
series = pd.Series({1:'East',2:'West',3:'North',4:'South',5:'East',6:'West',7:'North'})
print("Original系列:")
print(series)

print("输出:")
# 应用过滤方法
print(series.filter([2]))

输出

输出如下所示 −

Original 系列:
1    East
2    West
3    North
4    South
5    East
6    West
7    North
dtype: object

Output:
2    West
dtype: object

正如我们在上面的输出块中看到的,我们已经成功地从系列对象中过滤掉了单行标签。


相关文章