如何使用 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(基于位置的索引)的行。