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

