開始之前,pandas中DataFrame刪除對(duì)象可能存在幾種情況
1、刪除具體列
2、刪除具體行
3、刪除包含某些數(shù)值的行或者列
4、刪除包含某些字符、文字的行或者列
本文就針對(duì)這四種情況探討一下如何操作。
數(shù)據(jù)準(zhǔn)備
模擬了一份股票交割的記錄。
import pandas as pd
data = { '證券名稱' : ['格力電器','視覺中國','成都銀行','中國聯(lián)通','格力電器','視覺中國','成都銀行','中國聯(lián)通'], '摘要': ['證券買入','證券買入','證券買入','證券買入','證券賣出','證券賣出','證券賣出','證券賣出'], '成交數(shù)量' : [500,1000,1500,2000,500,500,1000,1500], '成交金額' :[-5000,-10000,-15000,-20000,5500,5500,11000,15000]}
df = pd.DataFrame(data, index = ['2018-2-1','2018-2-1','2018-2-1','2018-2-1','2018-2-2','2018-2-2','2018-2-2','2018-2-3'])
df

image.png
刪除具體列
df.drop('成交數(shù)量',axis=1)

image.png
刪除具體行
df.drop('2018-2-3')

image.png
也可以根據(jù)行號(hào)刪除記錄,比如刪除第三行
df.drop(df.index[3])

image.png
注意,這個(gè)辦法其實(shí)不是按照行號(hào)刪除,而是按照索引刪除。如果index為3,則會(huì)將前4條記錄都刪除。這個(gè)方法支持一個(gè)范圍,以及用負(fù)數(shù)表示從末尾刪除。
刪除特定數(shù)值的行(刪除成交金額小于10000)
df[ df['成交金額'] > 10000]

image.png
本例其實(shí)是篩選,如果需要保留,可以將篩選后的對(duì)象賦值給自己即可。
刪除某列包含特殊字符的行
df[ ~ df['證券名稱'].str.contains('聯(lián)通') ]

image.png
如果想取包含某些字符的記錄,可以去掉~
df[ df['證券名稱'].str.contains('聯(lián)通') ]

image.png
完成~
希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,每天進(jìn)步一點(diǎn)點(diǎn),加油。