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。
- 返回类型:
- 抛出:
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