程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

pandas—刪除某行或某列數據

編輯:Python

首先,創建一個DataFrame格式數據作為舉例數據。

# 創建一個DataFrame格式數據
data = {'a': ['a0', 'a1', 'a2'],
'b': ['b0', 'b1', 'b2'],
'c': [i for i in range(3)],
'd': 4}
df = pd.DataFrame(data)
print('舉例數據情況:\n', df)


注:DataFrame是最常用的pandas對象,使用pandas讀取數據文件後,數據就以DataFrame數據結構存儲在內存中。

pandas數據行列刪除,主要用到drop()和del函數,用法如下:
1、drop()函數
語法:
DataFrame.drop(labels,axis=0,level=None,inplace=False,errors=’raise’)

參數說明labels接收string或array,代表要刪除的行或列的標簽(行名或列名)。無默認值axis接收0或1,代表操作的軸(行或列)。默認為0,代表行;1為列。level接收int或索引名,代表標簽所在級別。默認為Noneinplace接收布爾值,代表操作是否對原數據生效,默認為Falseerrorserrors='raise’會讓程序在labels接收到沒有的行名或者列名時拋出錯誤導致程序停止運行,errors='ignore’會忽略沒有的行名或者列名,只對存在的行名或者列名進行操作。默認為‘errors=‘raise’’。

實例1:刪除d列

df1 = df.drop(labels='d', axis=1)
print('刪除d列前:\n', df)
print('刪除d列後:\n', df1)


實例2:刪除第一行

df2 = df.drop(labels=0)
print('刪除前:\n', df)
print('刪除列:\n', df2)
​​​​​​​


實例3:同時刪除多行多列

df3 = df.drop(labels=['a', 'b'], axis=1) # 同時刪除a,b列
df4 = df.drop(labels=range(2)) # 等價於df.drop(labels=[0,1])
print('刪除前:\n', df)
print('刪除多列(a,b):\n', df3)
print('刪除多行(第1,2行):\n', df4)


注意:(1)、刪除列的操作時,axis參數不可省,因為axis默認為0(行);
(2)、沒有加入inplace參數,默認不會對原來數據進行修改,需要將結果賦值給新的變量。

2、del函數
語法:del df[‘列名’]
此操作會對原數據df進行刪除,且一次只能刪除一列。
正確用法:

del df['d']
print('原地刪除d列後:\n', df)


錯誤用法:

del df[['a', 'b']]
print(df)


以上就是pandas刪除某行某列數據的用法,drop()相對於del()來說,靈活性更高,更為實用。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved