Pandas 中 series.filter() 方法的作用是什么?
Pandas series 构造函数中的 series.filter() 方法用于根据索引标签子集化 series 对象的行。filter 方法不适用于 series 对象的内容,它仅应用于 series 对象的索引标签。
如果指定的标签与 series 索引标签不匹配,该方法不会引发错误。
filter() 方法的参数包括 items、regex 和 axis。items 参数接受类似列表的对象以访问给定 series 对象中的一组行。regex 参数用于定义可用于检索 series 行的正则表达式。
示例 1
在以下示例中,我们将通过将索引标签列表指定给 filter() 方法来过滤 Pandas series 对象中的某些行。
# importing pandas package import pandas as pd # creating pandas Series object 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: ") # Apply the filter method 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
我们已成功从初始 series 对象中过滤了指定的行。并且结果 series 对象与输入 series 对象具有相同的数据类型。
示例 2
让我们再取一个 series 对象,使用索引标签过滤一行,并且必须将单个标签值作为可迭代对象的元素来提及,否则会报错。
# importing pandas package import pandas as pd # creating pandas Series object series = pd.Series({1:'East',2:'West',3:'North',4:'South',5:'East',6:'West',7:'North'}) print("Original Series:") print(series) print("Output: ") # Apply the filter method print(series.filter([2]))
输出
输出如下所示:
Original Series: 1 East 2 West 3 North 4 South 5 East 6 West 7 North dtype: object Output: 2 West dtype: object
正如我们在上面的输出块中看到的,我们已成功从 series 对象中过滤了一个单行的标签。
广告