dask.dataframe.DataFrame.drop

dask.dataframe.DataFrame.drop

DataFrame.drop(labels=None, axis=0, columns=None, errors='raise')[源代码]

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

此文档字符串是从 pandas.core.frame.DataFrame.drop 复制过来的。

Dask 版本可能存在一些不一致性。

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

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

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

{0 或 ‘index’, 1 或 ‘columns’}, 默认 0

是否从索引(0 或 ‘index’)或列(1 或 ‘columns’)中删除标签。

索引单个标签或类似列表的 (在Dask中不支持)

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

单个标签或类列表

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

级别整数或级别名称,可选 (在Dask中不支持)

对于 MultiIndex,将从中移除标签的级别。

就地bool, 默认 False (Dask 中不支持)

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

错误{‘ignore’, ‘raise’}, 默认 ‘raise’

如果为 ‘ignore’,则忽略错误并且仅删除现有的标签。

返回
DataFrame 或 None

返回 DataFrame 或 None 如果指定了索引或列标签被移除,或者如果 inplace=True 则返回 None。

Raises
KeyError

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

参见

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