Python學習筆記:pd.drop刪除行或列


一、介紹

通過指定標簽名稱和相應的軸,或直接指定索引或列名稱,刪除行或列。

使用多索引時,可以通過指定級別來刪除不同級別上的標簽。

使用語法:

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

參數解釋:

-- labels 單個標簽或者標簽列表
-- axis=0 默認 刪除index
-- axis=1 指定刪除列
-- inplace=True 修改原數據
-- level 針對多重索引 指定級別
-- index 指定索引
-- columns 指定列名

二、實操

  • 刪除簡單索引
import pandas as pd
import numpy as np

# 構建測試集
df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['a','b','c','d'])
'''
   a  b   c   d
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
'''

# 刪除行
df.drop(2)
df.drop([0,1])

# 刪除列
df.drop('a', axis=1)
df.drop(['b','c'], axis=1)
df.drop(columns=['b','c']) # 同上
  • 多重索引刪除數據
# 構建復合索引測試表
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
'''

# 刪除行
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
'''

# 刪除列
df.drop(index='cow', columns='big')
'''
               small
lama   speed    30.0
       weight  100.0
       length    1.0
falcon speed   250.0
       weight    0.8
       length    0.2
'''

參考鏈接:Python中pandas dataframe刪除一行或一列:drop函數詳解

參考鏈接:pandas.DataFrame.drop

參考鏈接:df.drop()函數刪除多行或者多列


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM