pandas.Series.drop — pandas 2.2.3 documentation (original) (raw)

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

Return Series with specified index labels removed.

Remove elements of a Series based on specifying the index labels. When using a multi-index, labels on different levels can be removed by specifying the level.

Parameters:

labelssingle label or list-like

Index labels to drop.

axis{0 or ‘index’}

Unused. Parameter needed for compatibility with DataFrame.

indexsingle label or list-like

Redundant for application on Series, but ‘index’ can be used instead of ‘labels’.

columnssingle label or list-like

No change is made to the Series; use ‘index’ or ‘labels’ instead.

levelint or level name, optional

For MultiIndex, level for which the labels will be removed.

inplacebool, default False

If True, do operation inplace and return None.

errors{‘ignore’, ‘raise’}, default ‘raise’

If ‘ignore’, suppress error and only existing labels are dropped.

Returns:

Series or None

Series with specified index labels removed or None if inplace=True.

Raises:

KeyError

If none of the labels are found in the index.

Examples

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

Drop labels B en C

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

Drop 2nd level label in 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