pandas.Series.drop#

Series.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')[源代码]#

返回删除指定索引标签后的 Series。

根据指定的索引标签删除 Series 中的元素。当使用 MultiIndex 时,可以通过指定级别来删除不同级别的标签。

Parameters:
labels单个标签或类列表

要删除的索引标签。

axis{0 或 ‘index’}

未使用。参数是与 DataFrame 兼容性所必需的。

index单个标签或类列表

对 Series 应用时冗余,但可以使用 ‘index’ 而非 ‘labels’。

columns单个标签或类列表

不会修改 Series;请改用 ‘index’ 或 ‘labels’。

levelint 或 level 名称,可选

对于 MultiIndex,将删除标签的级别。

inplacebool,默认 False

如果为 True,则就地执行操作并返回 None。

errors{‘ignore’, ‘raise’},默认为 ‘raise’

如果为 ‘ignore’,则忽略错误,只删除存在的标签。

Returns:
Series 或 None

删除指定索引标签后的 Series,如果 inplace=True 则返回 None。

Raises:
KeyError

如果索引中找不到任何标签。

参见

Series.reindex

仅返回 Series 中指定的索引标签。

Series.dropna

返回不包含 null 值的 Series。

Series.drop_duplicates

返回去除重复值的 Series。

DataFrame.drop

删除行或列中指定的标签。

Examples

>>> s = pd.Series(data=np.arange(3), index=['A', 'B', 'C'])
>>> s
A  0
B  1
C  2
dtype: int64

删除 B 和 C 标签

>>> s.drop(labels=['B', 'C'])
A  0
dtype: int64

删除 MultiIndex Series 中的第二个级别标签

>>> midx = pd.MultiIndex(levels=[['llama', 'cow', 'falcon'],
...                              ['speed', 'weight', 'length']],
...                      codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],
...                             [0, 1, 2, 0, 1, 2, 0, 1, 2]])
>>> s = pd.Series([45, 200, 1.2, 30, 250, 1.5, 320, 1, 0.3],
...               index=midx)
>>> s
llama   speed      45.0
        weight    200.0
        length      1.2
cow     speed      30.0
        weight    250.0
        length      1.5
falcon  speed     320.0
        weight      1.0
        length      0.3
dtype: float64
>>> s.drop(labels='weight', level=1)
llama   speed      45.0
        length      1.2
cow     speed      30.0
        length      1.5
falcon  speed     320.0
        length      0.3
dtype: float64