如何從 Pandas Series 物件中刪除一組元素?


在 Pandas Series 建構函式中,有一個名為 drop() 的方法,用於從 Pandas Series 物件中刪除指定的行。它不會更新原始 Series 物件,而是會返回另一個不包含已刪除行的 Series 物件。

我們可以將此 drop() 方法用於基於標籤和基於位置索引的 Series 物件。

如果 Series 物件的索引中找不到指定的行標籤,則會引發 KeyError。我們可以透過將 errors 引數從 raise 設定為 ignore 來抑制錯誤。我們還有其他一些引數:labels、axis、level、inplace 和 raise。

示例 1

# import pandas package
import pandas as pd

# Creating Series objects
sr = pd.Series([35, 39, 45, 2, 47, 89, 48, 71, 55, 19])
print('Series object:',sr)

# Remove list of elements
result = sr.drop([2,4,6])

# display output
print(result)

解釋

在下面的示例中,我們將從 Series 物件中刪除一組行。最初,我們使用 Python 整型列表建立了一個 Pandas Series,索引標籤是自動建立的範圍索引值(基於位置的索引值)。

輸出

Series object:
0 35
1 39
2 45
3  2
4 47
5 89
6 48
7 71
8 55
9 19
dtype: int64

0 35
1 39
3 2
5 89
7 71
8 55
9 19
dtype: int64

我們透過使用 Python 列表物件指定元素的索引值,從 Series 物件“sr”中刪除了一組行。在這個例子中,刪除了 [2,4,6] 行。

示例 2

# import pandas package
import pandas as pd

# Creating Series objects
sr = pd.Series([43, 3, 16, 84, 69, 20, 37, 44, 94, 48], index=list("ABCDEFGHIJ"))
print('Series object:',sr)

# Remove list of elements
result = sr.drop(['D', 'E', 'J'])

# display output
print(result)

解釋

在下面的示例中,我們使用帶標籤索引建立了一個 Pandas Series。我們透過將標籤名稱傳送到 drop() 方法,從 Series 物件中刪除名為“C”的行。

輸出

Series object:
A 43
B  3
C 16
D 84
E 69
F 20
G 37
H 44
I 94
J 48
dtype: int64

A 43
B 3
C 16
F 20
G 37
H 44
I 94
dtype: int64

我們已成功從帶標籤的 Series 物件“sr”中刪除了行“D”、“E”、“J”。

更新於:2022年3月9日

946 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.