Python缺失值處理方法
前言:
前面python重復值處理得方法我們講了重復值是怎么處理的,今天就來說說缺失值。缺失值主要分為機械原因和人為原因。機械原因就是存儲器壞了,機器故障等等原因導致某段時間未能收集到數(shù)據(jù)。人為原因的情況種類就更多了,如刻意隱瞞等等。
先構建一個含有缺失值的DataFrame,如下:
import pandas as pd import numpy as np data = pd.DataFrame([[1,np.nan,3],[np.nan,5,np.nan]],columns = ['a','b','c']) print(data)
看出來了嗎?np.nan就是NAN值,空值的意思。
在numpy中有一個函數(shù)可以用來查看空值,不對,是兩個,isnull()和isna()這兩函數(shù)。
我們分別來試試它們的效果:
import pandas as pd import numpy as np data = pd.DataFrame([[1,np.nan,3],[np.nan,5,np.nan]],columns = ['a','b','c']) data.isnull() data.isna()
可以看出,這兩函數(shù)的作用就是判斷數(shù)據(jù)是不是空值,如果是,就返回true,不是就是false。
通常,對空值的處理有兩種方法,一種就是把空值刪除,另外一種就是把它填上,我們先說第一種,刪除空值,我們可以dropna()這一函數(shù)來把空值刪除。要注意,它會把含有空值的整行都刪掉。例如:
import pandas as pd import numpy as np data = pd.DataFrame([[1,np.nan,3],[np.nan,5,np.nan]],columns = ['a','b','c']) data.dropna()
上面的例子用了drop函數(shù)后,啥都沒啦!
我們可以設置當每行空值多余2個時再刪除(低于2個保留),這時候要用到dropna()的參數(shù)thresh。
補充空值的話有挺多的方法,有用均值補充,中位數(shù)補充等,我們要用到fillna()這一函數(shù)。例如,我們用均值來填充上文中的data,
代碼如下:
import pandas as pd import numpy as np data = pd.DataFrame([[1,np.nan,3],[np.nan,5,np.nan]],columns = ['a','b','c']) data.fillna(data.mean())
代碼運行的結果如下,可以看到空值都被對應列的均值所填充。
到此這篇關于Python缺失值處理方法的文章就介紹到這了,更多相關Python 缺失值 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用Webargs實現(xiàn)簡化Web應用程序的參數(shù)處理
在開發(fā)Web應用程序時,參數(shù)處理是一個常見的任務,Python的Webargs模塊為我們提供了一種簡單而強大的方式來處理這些參數(shù),下面我們就來學習一下具體操作吧2024-02-02Python報錯TypeError: unhashable type: ‘numpy.nd
在Python編程中,尤其是在處理數(shù)據(jù)時,我們經(jīng)常使用numpy數(shù)組,然而,當我們嘗試將numpy數(shù)組用作字典的鍵或集合的元素時,就會遇到TypeError: unhashable type: 'numpy.ndarray',本文將探討這個錯誤的原因,并給出幾種可能的解決方案,需要的朋友可以參考下2024-09-09從零學python系列之新版本導入httplib模塊報ImportError解決方案
在使用新版python打開舊版本代碼的時候,可能會有些報錯或者不兼容的情況出現(xiàn),今天我們就來分析其中的一種情況2014-05-05Python 整行讀取文本方法并去掉readlines換行\(zhòng)n操作
這篇文章主要介紹了Python 整行讀取文本方法并去掉readlines換行\(zhòng)n操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09