mars.dataframe.DataFrame.drop#
- DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')#
从行或列中删除指定的标签。
通过指定标签名称和相应的轴,或者直接指定索引或列名来删除行或列。当使用多重索引时,可以通过指定级别来删除不同级别上的标签。
- Parameters
labels (单个标签 或 类似列表) – 要删除的索引或列标签。
axis ({0 或 'index', 1 或 'columns'}, 默认 0) – 是否从索引中删除标签 (0 或 ‘index’) 或列中 (1 或 ‘columns’)。
index (单个标签 或 类列表) – 指定轴的替代方案 (
labels, axis=0相当于index=labels).columns (单个标签 或 类列表) – 指定轴的替代方式 (
labels, axis=1等同于columns=labels).级别 (int 或 级别名称, 可选) – 对于MultiIndex,将从中移除标签的级别。
inplace (bool, 默认值为 False) – 如果为 True,则在原地进行操作并返回 None。
错误 ({'ignore', 'raise'}, 默认 'raise') – 如果是‘ignore’,则抑制错误并仅删除现有标签。请注意,缺失索引的错误不会引发。
- Returns
没有移除的索引或列标签的数据框。
- Return type
- Raises
KeyError – 如果在选定的轴上找不到任何标签。
另请参阅
DataFrame.loc基于标签位置的索引器,用于通过标签进行选择。
DataFrame.dropna返回在给定轴上省略标签的 DataFrame,其中(全部或任何)数据缺失。
DataFrame.drop_duplicates返回去除重复行的DataFrame,选项上可以只考虑某些列。
Series.drop返回带有指定索引标签删除的序列。
示例
>>> import numpy as np >>> import pandas as pd >>> import mars.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