如何使用 Drop() 方法从 Pandas 系列对象中删除指定行?

pandasserver side programmingprogramming

Pandas series.drop() 方法用于从 Pandas 系列对象中删除特定行。它将返回一个包含已删除行的系列对象。

drop() 方法可应用于基于标签和基于位置索引的系列对象。drop() 方法的参数包括标签 (labels)、轴 (axis)、级别 (level)、位置 (inplace) 和提升 (raise)。

如果在系列对象的索引中找不到指定的行标签,则会引发 Key 错误。我们可以通过将错误参数从 raise 设置为 ignore 来抑制错误。

示例 1

# 导入 pandas 包
import pandas as pd

# 创建 Series 对象
s = pd.Series([56, 82, 43, 23, 14], index=['A', 'B', 'C', 'D', 'e'])
print('series object:',s)

result = s.drop('C')

# 显示输出
print(result)

解释

在下面的示例中,我们创建了一个 pandas Series,其中包含标签索引。我们通过将标签名称发送给 drop() 方法,从系列对象中删除了名为"C"的行。

输出

series object:
A 56
B 82
C 43
D 23
e 14
dtype: int64

A 56
B 82
D 23
e 14
dtype: int64

我们已成功从 Pandas 系列对象"s"中删除行"C"。我们可以在上面的输出块中看到初始系列对象和结果系列对象。

示例 2

# 导入 pandas 包
import pandas as pd

# 创建系列对象
s = pd.Series([38, 94, 19, 81, 74, 19, 93, 47, 31, 37])
print('series object:',s)

result = s.drop(5)

# 显示输出
print(result)

解释

这里我们将演示如何从基于位置的索引值的系列对象中删除一行。最初,我们创建了一个带有 python 整数值列表的 pandas 系列,并且索引标签是自动创建的范围索引值。

输出

series object:
0 38
1 94
2 19
3 81
4 74
5 19
6 93
7 47
8 31
9 37
dtype: int64

0 38
1 94
2 19
3 81
4 74
6 93
7 47
8 31
9 37
dtype: int64

我们在 drop() 方法的结果对象中删除了名为 5(基于位置的索引)的行。


相关文章