Pandas 中 series.duplicated() 方法有什麼作用?


在資料分析過程中,查詢物件中的重複值是一項非常常見的任務。在 Pandas 中,我們有一個名為 duplicated() 的函式用於識別重複值。

對於 Pandas series 物件,duplicated() 方法將返回一個包含布林值的 series。True 僅指示重複值的最後出現或第一次出現,或者它可能指示所有重複值。

duplicated() 方法有一個名為“keep”的引數,用於以不同的方式處理重複值。此引數的預設行為是“first”,這意味著它將所有重複值標記為 True,除了第一次出現。我們可以將其更改為 last 和 False 以標記所有出現。

示例 1

在下面的示例中,我們使用字串列表建立了一個 Pandas series,之後,我們在不更改預設引數的情況下應用了 duplicated() 方法。

# importing required packages
import pandas as pd

# creating pandas Series object
series = pd.Series(['A', 'B', 'E', 'C', 'A', 'E'])
print(series)

# apply duplicated() method
print("Output:",series.duplicated())

輸出

輸出如下:

0    A
1    B
2    E
3    C
4    A
5    E
dtype: object

Output:
0    False
1    False
2    False
3    False
4     True
5     True
dtype: bool

duplicated() 方法返回一個包含布林值的新 series 物件。索引位置 4 和 5 處的數值被標記為 True,因為 A 和 E 之前已經出現過,其餘值只出現一次。

示例 2

在下面的示例中,我們將值 last 傳遞給 keep 引數,以識別第一次出現的重複值。

# importing required packages
import pandas as pd

# creating pandas Series object
series = pd.Series([90,54,43,90,28,43,67])
print(series)

# apply duplicated() method
print("Output:",series.duplicated(keep='last'))

輸出

輸出如下:

0    90
1    54
2    43
3    90
4    28
5    43
6    67
dtype: int64

Output:
0     True
1    False
2     True
3    False
4    False
5    False
6    False
dtype: bool

我們已成功檢測到重複值,除了給定 series 物件中最後一次出現的重複值。索引位置 0 和 2 處的數值被標記為 True,因為 90 和 43 在 series 物件中出現多次,其餘值只出現一次。

更新於:2022年3月7日

113 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告