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 物件中過濾了一個單行的標籤。

更新於: 2022-03-07

125 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告