python?pandas數(shù)據(jù)處理之刪除特定行與列
dropna() 方法過濾任何含有缺失值的行
pandas.DataFrame里,如果一行數(shù)據(jù)有任意值為空,則過濾掉整行,這時候使用dropna()方法是合適的。下面的案例,任意列只要有一個為空數(shù)據(jù),則整行都干掉。但是我們常常遇到的情況,是根據(jù)一個指標(biāo)(一列)數(shù)據(jù)的情況,去過濾行數(shù)據(jù),類似Excel里面的過濾漏斗,怎么辦?
>>> import pandas as pd
>>> data = pd.DataFrame([[1.,6.5,3.],[1.],[],[6.5,3.]],index=list('abcd'),columns=list('def'))
>>> data
d e f
a 1.0 6.5 3.0
b 1.0 NaN NaN
c NaN NaN NaN
d 6.5 3.0 NaN
>>> data.dropna() #任意列只要有一個為空數(shù)據(jù),則整行都干掉
d e f
a 1.0 6.5 3.0
方法一:dropna() 其他參數(shù)解析
原文鏈接,我們引入了dropna()方法的其他參數(shù)。
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
參數(shù)說明:
- axis:
- axis=0: 刪除包含缺失值的行
- axis=1: 刪除包含缺失值的列
- how: 與axis配合使用
- how=‘any’ :只要有缺失值出現(xiàn),就刪除該行或列
- how=‘all’: 所有的值都缺失,才刪除行或列
- thresh: axis中至少有thresh個非缺失值,否則刪除。比如 axis=0,thresh=10:標(biāo)識如果該行中非缺失值的數(shù)量小于10,將刪除改行
- subset: list,在哪些列中查看是否有缺失值
- inplace: 是否在原數(shù)據(jù)上操作。如果為真,返回None,否則返回新的copy,去掉了缺失值
>>> data.dropna(axis=0,subset=['e']) #axis=0,刪除行,在subset的列中進行查看
d e f
a 1.0 6.5 3.0
d 6.5 3.0 NaN
方法二:替換并刪除,Python pandas 如果某列值為空,過濾刪除所在行數(shù)據(jù)
如上面的data數(shù)據(jù),如果希望“e”列數(shù)值為空NaN時,刪除對應(yīng)行也就是“b、c”行數(shù)據(jù),保留其他行,用dropna()似乎比較麻煩。 這個時候的思路是:
fillna()給空值填充一個數(shù)值(如999999)index.tolist()找出值為填充值所在行的索引drop根據(jù)索引干掉對應(yīng)的行
>>> data['e']=data['e'].fillna(999999)
>>> find_index=data[(data.e==999999)].index.tolist()
>>> find_index
['b', 'c']
>>> data.drop(find_index)
d e f
a 1.0 6.5 3.0
d 6.5 3.0 NaN
總結(jié)
到此這篇關(guān)于python pandas數(shù)據(jù)處理之刪除特定行與列的文章就介紹到這了,更多相關(guān)python pandas刪除特定行列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)結(jié)構(gòu)與算法之算法分析詳解
算法分析的主要目標(biāo)是從運行時間和內(nèi)存空間消耗等方面比較算法。本文將為大家詳細介紹Python數(shù)據(jù)結(jié)構(gòu)與算法中的算法分析,需要的可以參考一下2021-12-12
python pandas模塊進行數(shù)據(jù)分析
Python的Pandas模塊是一個強大的數(shù)據(jù)處理工具,可以用來讀取、處理和分析各種數(shù)據(jù),本文主要介紹了python pandas模塊進行數(shù)據(jù)分析,具有一定的參考價值,感興趣的可以了解一下2024-01-01
Python協(xié)程方式的實現(xiàn)及意義筆記分享
協(xié)程也被稱為微線程,是一種用戶態(tài)的上下文切換技術(shù),簡而言之,就是通過一個線程實現(xiàn)代碼互相切換執(zhí)行,本文主要給大家介紹實現(xiàn)協(xié)程的幾種方法2021-09-09
Python?PaddleNLP開源實現(xiàn)快遞單信息抽取
這篇文章主要為大家介紹了Python?PaddleNLP開源項目實現(xiàn)對快遞單信息抽取,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06

