Pandas 如何从series对象中删除一组元素
在pandas series构造函数中,有一个名为drop()的方法,用于从pandas series对象中删除指定的行。它不会更新原始series对象,而是返回另一个已删除行的series对象。
我们可以在基于标签和位置索引的series对象上使用这个drop()方法。
如果在series对象的索引中找不到指定的行标签,它会引发KeyError错误。通过将错误参数从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)
说明
在下面的示例中,我们将从一个系列对象中删除一组行。最初,我们创建了一个带有整数值的 Python 列表和索引标签的 pandas 系列对象,索引标签是自动创建的范围索引值(基于位置的索引值)。
输出
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中的列表对象,通过指定元素的索引值,从“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()方法,我们从系列对象中删除了一个名为“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
我们已成功从标记的系列对象“sr”中删除了行“D”,“E”,“J”。