開始之前,pandas中dataframe刪除物件可能存在幾種情況
1、刪除具體列
2、刪除具體行
3、刪除包含某些數值的行或者列
4、刪除包含某些字元、文字的行或者列
本文就針對這四種情況**一下如何操作。
資料準備
模擬了乙份**交割的記錄。
in [1]: import pandas as pd
in [2]: data 程式設計客棧=
...:
in [3]: 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'])
in [4]: df
out[4]:
成交數量 成交金額 摘要 **名稱
2018-2-1 500 -5000 **** 格力電器
2018-2-1 1000 -10000 **** 視覺中國
2018-2-1 1500 -15000 **** 成都銀行
2018-2-1 2000 -20000 **** 中國聯通
2018-2-2 程式設計客棧 500 5500 **賣出 格力電器
2018-2-2 500 5500 **賣出 視覺中國
2018-2-2 1000 11000 **賣出 成都銀行
2018-2-3 1500 15000 **賣出 中國聯通
刪除具體列
in [5]: df.drop('成交數量',axis=1)
out[5]:
成交金額 摘要 **名稱
2018-2-1 -5000 **** 格力電器
2018-2-1 -10000 **** 視覺中國
2018-2-1 -15000 **** 成都銀行
2018-2-1 -20000 **** 中國聯通
2018-2-2 5500 **賣出 格力電器
2018-2-2 5500 **賣出 視覺中國
2018-2-2 11000 **賣出 成都銀行
2018-2-3 15000 **賣出 中國聯通
刪除具體行
in [6]: df.drop('2018-2-3')
out[6]:
成交數量 成交金額 摘要 **名稱
2018-2-1 5程式設計客棧00 -5000 **** 格力電器
2018-2-1 1000 -10000 **** 視覺中國
2018-2-1 1500 -15000 **** 成都銀行
2018-2-1 2000 -20000 **** 中國聯通
2018-2-2 500 5500 **賣出 格力電器
2018-2-2 500 5500 **賣出 視覺中國
2018-2-2 1000 11000 **賣出 成都銀行
也可以根據行號刪除記錄,比如刪除第三行
in [22]: df.drop(df.index[7])
out[22]:
成交數量 成交金額 摘要 **名稱
2018-2-1 500 -5000 **** 格力電器
2018-2-1 1000 -10000 **** 視覺中國
2018-2-1 1500 -15000 **** 成都銀行
2018-2-1 2000 -20000 **** 中國聯通
2018-2-2 500 5500 **賣出 格力電器
2018-2-2 500 程式設計客棧 5500 **賣出 視覺中國
2018-2-2 1000 11000 **賣出 成都銀行
注意,這個辦法其實不是按照行號刪除,而是按照索引刪除。如果index為3,則會將前4條記錄都刪除。這個方法支援乙個範圍,以及用負數表示從末尾刪除。
刪除特定數值的行(刪除成交金額小於10000)
in [7]: df[ df['成交金額'] > 10000]
out[7]:
成交數量 成交金額 摘要 **名稱
2018-2-2 1000 1100nsrjw0 **賣出 成都銀行
2018-2-3 1500 15000 **賣出 中國聯通
本例其實是篩選,如果需要保留,可以將篩選後的物件賦值給自己即可。
刪除某列包含特殊字元的行
in [11]: df[ ~ df['**名稱'].str.contains('聯通') ]
out[11]:
成交數量 成交金額 摘要 **名稱
2018-2-1 500 -5000 **** 格力電器
2018-2-1 1000 -10000 **** 視覺中國
2018-2-1 1500 -15000 **** 成都銀行
2018-2-2 500 5500 **賣出 格力電器
2018-2-2 500 5500 **賣出 視覺中國
2018-2-2 1000 11000 **賣出 成都銀行
如果想取包含某些字元的記錄,可以去掉~
in [12]: df[ df['**名稱'].str.contains('聯通') ]
out[12]:
成交數量 成交金額 摘要 **名稱
2018-2-1 2000 -20000 **** 中國聯通
2018-2-3 1500 15000 **賣出 中國聯通
本文標題: pandas刪除資料的幾種情況(小結)
本文位址:
ArcEngine 幾種刪除資料的比較
1 ifeaturecursor 游標查詢後,遍歷刪除 2 更新游標刪除ifeaturecursor.deletefeature 3 itable.deletesearchedrows刪除 4 idataset.workspace.executesql 一 幾種刪除方法 1.查詢結果中刪除 priv...
mysql刪除表資料幾種情況
1 drop table table name 刪除表全部資料和表結構,立刻釋放磁碟空間,不管是 innodb 和 myisam 例項,刪除學生表 drop table student 2 truncate table table name 刪除表全部資料,保留表結構,立刻釋放磁碟空間 不管是 in...
Oracle 刪除資料的幾種方法
刪除表 記錄和結構 的語名delete truncate drop delete 刪除資料表裡記錄的語句 delete from表名 where 條件 注意 刪除記錄並不能釋放oracle裡被占用的資料塊表空間.它只把那些被刪除的資料塊標成unused.如果確實要刪除乙個大表裡的全部記錄,可以用 t...