python刪掉資料表幾列的方法

longmanma發表於2021-09-11

python刪掉資料表幾列的方法

1、使用del函式刪除指定列

python 中針對DataFrame格式的資料,刪除列最簡單的方法是使用del 函式,簡單粗暴效果好,如

import  pandas as pd
df = pd.DataFrame(columns = list('AB'),data = [[1,2,3],[4,5,6]])
print(df)
結果如下:
    A  B  C
0  1  2  3
1  4  5  6
#刪除B列
del df['B']
print(df)
結果如下:
    A  C
0  1  3
1  4` 6

DataFrame是一種表格型資料結構,它含有一組有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series組成的字典,不過這些Series公用一個索引。

2、使用DataFrame.drop函式刪除指定列

用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

引數說明:

labels 就是要刪除的行列的名字,用列表給定

axis 預設為0,指刪除行,因此刪除columns時要指定axis=1;

index 直接指定要刪除的行

columns 直接指定要刪除的列

inplace=False,預設該刪除操作不改變原資料,而是返回一個執行刪除操作後的新dataframe;

inplace=True,則會直接在原資料上進行刪除操作,刪除後無法返回。

刪除行列有兩種方式:

1)labels=None,axis=0 的組合

2)index或columns直接指定要刪除的行或列

>>>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
 
#Drop columns,兩種方法等價
 
>>>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
 
# 第一種方法下刪除column一定要指定axis=1,否則會報錯
>>> df.drop(['B', 'C'])
 
ValueError: labels ['B' 'C'] not contained in axis
 
#Drop rows
>>>df.drop([0, 1])
 
   A  B   C   D
 
2  8  9  10  11
 
>>> df.drop(index=[0, 1])
 
   A  B   C   D
    
2  8  9  10  11

推薦學習《》。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2730/viewspace-2834002/,如需轉載,請註明出處,否則將追究法律責任。

相關文章