當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.drop用法及代碼示例


用法:

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

從行或列中刪除指定的標簽。

通過指定標簽名稱和相應的軸,或直接指定索引或列名稱來刪除行或列。使用multi-index 時,可以通過指定級別來移除不同級別的標簽。有關現在未使用的關卡的更多信息,請參閱user guide <advanced.shown_levels>

參數

labels單標簽或list-like

要刪除的索引或列標簽。元組將用作單個標簽,而不被視為list-like。

axis{0 或 ‘index’,1 或 ‘columns’},默認 0

是否從索引(0 或 ‘index’)或列(1 或 ‘columns’)中刪除標簽。

index單標簽或list-like

替代指定軸(labels, axis=0 等效於 index=labels)。

columns單標簽或list-like

替代指定軸(labels, axis=1 等效於 columns=labels)。

levelint 或級別名稱,可選

對於 MultiIndex,將刪除標簽的級別。

inplace布爾值,默認為 False

如果為 False,則返回一個副本。否則,就地執行操作並返回 None。

errors{‘ignore’, ‘raise’},默認 ‘raise’

如果‘ignore’,抑製錯誤並且僅刪除現有標簽。

返回

DataFrame 或無

沒有刪除索引或列標簽的 DataFrame 或 None 如果 inplace=True

拋出

KeyError

如果在所選軸中未找到任何標簽。

例子

>>> 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=[['lama', '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
lama    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
lama    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
lama    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
lama    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

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.drop。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。