pandas.DataFrame.drop#
- DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')[源代码]#
删除行或列中指定的标签。
通过指定标签名称和相应的轴,或者直接指定索引或列名称来删除行或列。使用多重索引时,可以通过指定级别来删除不同级别的标签。有关现在未使用的级别的更多信息,请参阅 user guide 。
- Parameters:
- labels单个标签或类列表
要删除的索引或列标签。元组将被视为单个标签,而不是类列表。
- axis{0 或 ‘index’, 1 或 ‘columns’}, default 0
是沿索引(0 或 ‘index’)删除标签,还是沿列(1 或 ‘columns’)删除标签。
- index单个标签或类列表
指定轴的替代方法(
labels, axis=0等同于index=labels)。- columns单个标签或类列表
指定轴的替代方法(
labels, axis=1等同于columns=labels)。- levelint 或 level 名称,可选
对于 MultiIndex,将从中删除标签的级别。
- inplacebool,默认 False
如果为 False,则返回副本。否则,原地执行操作并返回 None。
- errors{‘ignore’, ‘raise’},默认为 ‘raise’
如果为 ‘ignore’,则忽略错误,只删除存在的标签。
- Returns:
- DataFrame 或 None
返回已删除指定索引或列标签的 DataFrame 或 None,如果 inplace=True,则返回 None。
- Raises:
- KeyError
如果所选轴中的任何标签未找到。
参见
DataFrame.loc基于标签的索引器,用于按标签进行选择。
DataFrame.dropna返回 DataFrame,其中在指定轴上缺失(全部或部分)数据的标签已被省略。
DataFrame.drop_duplicates返回删除重复行后的 DataFrame,可以选择只考虑某些列。
Series.drop返回删除指定索引标签后的 Series。
Examples
>>> 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