Pandas 什么是series.filter()方法
pandas series构造函数中的series.filter()方法用于基于索引标签来子集化系列对象的行。filter方法不适用于系列对象的内容,只应用于系列对象的索引标签。
如果指定的标签与系列索引标签不匹配,该方法不会引发错误。
filter()方法的参数包括items、like、regex和axis。items参数接受一个类似列表的对象,用于访问给定系列对象中的行集。regex参数用于定义可用于检索系列行的正则表达式。
示例1
在下面的示例中,我们将使用指定的索引标签列表来过滤掉pandas系列对象中的一些行。
# 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字典创建了一个系列对象,其中包含键值对。在这里,索引标签是通过使用字典的键创建的。
输出
输出如下所示:
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
让我们使用另一个系列对象,使用索引标签过滤单个行。我们必须将单个标签值作为可迭代对象的元素进行指定,否则会出现错误。
# 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
如上所示,我们成功从系列对象中过滤出了一个单行标签。