如何在pandas序列中刪除重複行?
使用pandas包的主要優勢在於分析資料科學和機器學習應用程式的資料。在分析資料的過程中,刪除重複值是一種常用的資料清洗任務。
要從pandas序列物件中刪除重複值,可以使用`drop_duplicates()`方法。此方法返回一個刪除了重複行的序列,並且不會更改原始序列物件。相反,它將返回一個新的序列物件。
透過使用`inplace`引數,我們可以透過設定“`inplace=True`”將更改更新到原始序列物件中。
`drop_duplicates()`方法中的另一個重要引數是“`keep`”。此引數的預設行為是“`first`”,這意味著它會刪除重複值,但保留第一次出現的那個值。此外,我們也可以將其更改為`last`和`False`。
示例1
在下面的示例中,我們建立了一個包含字串列表的pandas序列,並且還透過定義索引引數來指定索引標籤。
# import pandas package import pandas as pd # create pandas series with duplicate values series = pd.Series( ['John','Garyooo','John','Richard','Peter','Richard','Gary'], index=['East','West','North','South','East','West','North']) print(series) # delete duplicate values result = series.drop_duplicates() print('Output:',result)
說明
建立序列物件後,我們應用了`drop_duplicates()`方法,而沒有更改預設引數。
Pandas序列如下所示:
East John West Garyooo North John South Richard East Peter West Richard North Gary dtype: object
輸出
輸出如下:
East John West Garyooo South Richard East Peter North Gary dtype: object
`drop_duplicates`方法返回一個刪除了重複行的新序列物件。此處原始序列物件不受此方法影響,而是返回一個新的序列物件。
示例2
對於同一個示例,我們將`inplace`引數的值從預設的`False`更改為`True`。
# import pandas package import pandas as pd # create pandas series with duplicate values series = pd.Series( ['John','Garyooo','John','Richard','Peter','Richard','Gary'], index=['East','West','North','South','East','West','North']) print(series) # delete duplicate values with inplace=True result = series.drop_duplicates(inplace=True) print('Output:
',result) print(series)
說明
透過為`inplace`引數設定`True`值,我們可以修改原始序列物件,刪除重複行,並且該方法返回`None`作為其輸出。
Pandas序列如下所示:
East John West Garyooo North John South Richard East Peter West Richard North Gary dtype: object
輸出
輸出如下:
Output: None East John West Garyooo South Richard East Peter North Gary dtype: object
透過設定`inplace=True`,我們已成功更新了包含已刪除行的原始序列物件。我們可以在上面的輸出塊中看到輸出,`drop_duplicates()`方法的輸出值為“`None`”。
廣告