- API reference
- DataFrame
- pandas.DataF...
pandas.DataFrame.drop#
- DataFrame.drop(labels=None,*,axis=0,index=None,columns=None,level=None,inplace=False,errors='raise')[source]#
Drop specified labels from rows or columns.
Remove rows or columns by specifying label names and correspondingaxis, or by directly specifying index or column names. When using amulti-index, labels on different levels can be removed by specifyingthe level. See theuser guidefor more information about the now unused levels.
- Parameters:
- labelssingle label or list-like
Index or column labels to drop. A tuple will be used as a singlelabel and not treated as a list-like.
- axis{0 or ‘index’, 1 or ‘columns’}, default 0
Whether to drop labels from the index (0 or ‘index’) orcolumns (1 or ‘columns’).
- indexsingle label or list-like
Alternative to specifying axis (
labels,axis=0
is equivalent toindex=labels
).- columnssingle label or list-like
Alternative to specifying axis (
labels,axis=1
is equivalent tocolumns=labels
).- levelint or level name, optional
For MultiIndex, level from which the labels will be removed.
- inplacebool, default False
If False, return a copy. Otherwise, do operationin place and return None.
- errors{‘ignore’, ‘raise’}, default ‘raise’
If ‘ignore’, suppress error and only existing labels aredropped.
- Returns:
- DataFrame or None
Returns DataFrame or None DataFrame with the specifiedindex or column labels removed or None if inplace=True.
- Raises:
- KeyError
If any of the labels is not found in the selected axis.
See also
DataFrame.loc
Label-location based indexer for selection by label.
DataFrame.dropna
Return DataFrame with labels on given axis omitted where (all or any) data are missing.
DataFrame.drop_duplicates
Return DataFrame with duplicate rows removed, optionally only considering certain columns.
Series.drop
Return Series with specified index labels removed.
Examples
>>>df=pd.DataFrame(np.arange(12).reshape(3,4),...columns=['A','B','C','D'])>>>df A B C D0 0 1 2 31 4 5 6 72 8 9 10 11
Drop columns
>>>df.drop(['B','C'],axis=1) A D0 0 31 4 72 8 11
>>>df.drop(columns=['B','C']) A D0 0 31 4 72 8 11
Drop a row by index
>>>df.drop([0,1]) A B C D2 8 9 10 11
Drop columns and/or rows of MultiIndex DataFrame
>>>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]])>>>df=pd.DataFrame(index=midx,columns=['big','small'],...data=[[45,30],[200,100],[1.5,1],[30,20],...[250,150],[1.5,0.8],[320,250],...[1,0.8],[0.3,0.2]])>>>df big smallllama speed 45.0 30.0 weight 200.0 100.0 length 1.5 1.0cow speed 30.0 20.0 weight 250.0 150.0 length 1.5 0.8falcon speed 320.0 250.0 weight 1.0 0.8 length 0.3 0.2
Drop a specific index combination from the MultiIndexDataFrame, i.e., drop the combination
'falcon'
and'weight'
, which deletes only the corresponding row>>>df.drop(index=('falcon','weight')) big smallllama speed 45.0 30.0 weight 200.0 100.0 length 1.5 1.0cow speed 30.0 20.0 weight 250.0 150.0 length 1.5 0.8falcon speed 320.0 250.0 length 0.3 0.2
>>>df.drop(index='cow',columns='small') bigllama speed 45.0 weight 200.0 length 1.5falcon speed 320.0 weight 1.0 length 0.3
>>>df.drop(index='length',level=1) big smallllama speed 45.0 30.0 weight 200.0 100.0cow speed 30.0 20.0 weight 250.0 150.0falcon speed 320.0 250.0 weight 1.0 0.8