首頁 >後端開發 >Python教學 >如何使用Python Pandas中的drop()函數?

如何使用Python Pandas中的drop()函數?

王林
王林轉載
2023-04-20 21:22:062128瀏覽

python基礎pandas的drop()用法

做資料處理得時候用到了pandas,體驗不錯,記錄如下:

import pandas as pd
import numpy as np

直接可以用pandas產生隨機數組

df = pd.DataFrame(np.random.randn(5,3),index = list('abcde'),columns = ['one','two','three'])

如何使用Python Pandas中的drop()函數?

假設其中存在空數:

df.ix[1,:-1] = np.nan  #第二行,排除倒数第一个都是Nan
df.ix[1:-1,2] = np.nan #第三列,排除第一个和最后一个都是Nan

如何使用Python Pandas中的drop()函數?

#把Nan的全部刪掉

print('\n',df.dropna())

如何使用Python Pandas中的drop()函數?

有選擇的刪,而不是刪Nan

print(df.drop(['one'],axis=1))
print(df.drop(['a','c'],axis = 0))

如何使用Python Pandas中的drop()函數?

#補充:python pandas 之drop()函數

drop函數的使用

(1)drop() 刪除行和列

drop([ ],axis=0,inplace=True)

  • drop([ ]),預設刪除某一行;

  • 如果要刪除某列,需要axis=1;

  • 參數inplace 預設情況下為False,表示保持原來的資料不變,True 則表示在原來的資料上改變。

import pandas as pd
 
import numpy as np
 
data=pd.DataFrame(np.arange(20).reshape((5,4)),columns=list('ABCD'),index=['a','b','c','d','e'])
print(data)
print('*'*40)
print(data.drop(['a'])) #删除a 行,默认inplace=False,
print('*'*40)
print(data)#  data 没有变化
print('*'*40)
print(data.drop(['A'],axis=1))#删除列
print('*'*40)
print(data.drop(['A'],axis=1,inplace=True)) #在本来的data 上删除
print('*'*40)
print(data)data 发生变化
 
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
e  16  17  18  19
****************************************
    A   B   C   D
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
e  16  17  18  19
****************************************
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
e  16  17  18  19
****************************************
    B   C   D
a   1   2   3
b   5   6   7
c   9  10  11
d  13  14  15
e  17  18  19
****************************************
None
****************************************
    B   C   D
a   1   2   3
b   5   6   7
c   9  10  11
d  13  14  15
e  17  18  19

以上是如何使用Python Pandas中的drop()函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除