pandas.DataFrame.drop #

数据框。drop ( labels = None , * , axis = 0 , index = None , columns = None , level = None , inplace = False , error = 'raise' ) [来源] #

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

通过指定标签名称和对应的轴,或者直接指定索引或列名称来删除行或列。使用多索引时,可以通过指定级别来删除不同级别的标签。 有关目前未使用的级别的更多信息,请参阅用户指南。

参数
标签单个标签或类似列表

要删除的索引或列标签。元组将被用作单个标签,而不是被视为类似列表。

{0 或 'index', 1 或 'columns'}, 默认 0

是否从索引(0 或“索引”)或列(1 或“列”)中删除标签。

索引单个标签或类似列表

指定轴的替代方法( 相当于)。labels, axis=0index=labels

单标签或类似列表

指定轴的替代方法( 相当于)。labels, axis=1columns=labels

level int 或级别名称,可选

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

inplace布尔值,默认 False

如果为 False,则返回副本。否则,就地操作并返回 None。

错误{'ignore', 'raise'}, 默认 'raise'

如果“忽略”,则抑制错误并且仅删除现有标签。

返回
数据框或无

返回 DataFrame 或 None DataFrame,并删除指定的索引或列标签;如果 inplace=True,则返回 None。

加薪
按键错误

如果在选定的轴中未找到任何标签。

也可以看看

DataFrame.loc

基于标签位置的索引器,用于按标签进行选择。

DataFrame.dropna

返回 DataFrame,在(所有或任何)数据丢失的情况下,给定轴上的标签被省略。

DataFrame.drop_duplicates

返回删除了重复行的 DataFrame,可以选择仅考虑某些列。

Series.drop

返回已删除指定索引标签的系列。

例子

>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),
...                   columns=['A', 'B', 'C', 'D'])
>>> df
   A  B   C   D
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11

删除列

>>> df.drop(['B', 'C'], axis=1)
   A   D
0  0   3
1  4   7
2  8  11
>>> df.drop(columns=['B', 'C'])
   A   D
0  0   3
1  4   7
2  8  11

按索引删除行

>>> df.drop([0, 1])
   A  B   C   D
2  8  9  10  11

删除 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     small
llama   speed   45.0    30.0
        weight  200.0   100.0
        length  1.5     1.0
cow     speed   30.0    20.0
        weight  250.0   150.0
        length  1.5     0.8
falcon  speed   320.0   250.0
        weight  1.0     0.8
        length  0.3     0.2

从 MultiIndex DataFrame 中删除特定的索引组合,即删除组合'falcon''weight',这仅删除相应的行

>>> df.drop(index=('falcon', 'weight'))
                big     small
llama   speed   45.0    30.0
        weight  200.0   100.0
        length  1.5     1.0
cow     speed   30.0    20.0
        weight  250.0   150.0
        length  1.5     0.8
falcon  speed   320.0   250.0
        length  0.3     0.2
>>> df.drop(index='cow', columns='small')
                big
llama   speed   45.0
        weight  200.0
        length  1.5
falcon  speed   320.0
        weight  1.0
        length  0.3
>>> df.drop(index='length', level=1)
                big     small
llama   speed   45.0    30.0
        weight  200.0   100.0
cow     speed   30.0    20.0
        weight  250.0   150.0
falcon  speed   320.0   250.0
        weight  1.0     0.8