maxframe.dataframe.DataFrame.drop#

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')#

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

通过指定标签名称和对应的轴,或者直接指定索引或列名称来删除行或列。在使用多级索引时,可以指定级别来删除不同级别的标签。

参数:
  • labels (single label or list-like) -- 要删除的索引或列标签。

  • axis ({0 or 'index', 1 or 'columns'}, default 0) -- 是从索引(0 或 'index')还是列(1 或 'columns')中删除标签。

  • index (single label or list-like) -- 指定轴的替代方式(labels, axis=0 等价于 index=labels)。

  • columns (single label or list-like) -- 指定轴的替代方式(labels, axis=1 等价于 columns=labels)。

  • level (int or level name, optional) -- 对于 MultiIndex,指定要从中删除标签的级别。

  • inplace (bool, default False) -- 如果为 True,则就地操作并返回 None。

  • errors ({'ignore', 'raise'}, default 'raise') -- 如果为 'ignore',则忽略错误,仅删除存在的标签。注意,缺失索引的错误不会引发异常。

返回:

删除了指定索引或列标签的 DataFrame。

返回类型:

DataFrame

抛出:

KeyError -- 如果在所选轴中找不到任何标签。

参见

DataFrame.loc

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

DataFrame.dropna

返回在给定轴上省略了标签的 DataFrame,其中(全部或部分)数据缺失。

DataFrame.drop_duplicates

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

Series.drop

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

示例

>>> import numpy as np
>>> import pandas as pd
>>> import maxframe.dataframe as md
>>> df = md.DataFrame(np.arange(12).reshape(3, 4),
...                   columns=['A', 'B', 'C', 'D'])
>>> df.execute()
   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).execute()
   A   D
0  0   3
1  4   7
2  8  11
>>> df.drop(columns=['B', 'C']).execute()
   A   D
0  0   3
1  4   7
2  8  11

通过索引删除行

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

删除 MultiIndex DataFrame 的列和/或行

>>> midx = pd.MultiIndex(levels=[['lame', '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 = md.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.execute()
                big     small
lame    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
>>> df.drop(index='cow', columns='small').execute()
                big
lame    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).execute()
                big     small
lame    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