最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas 缺失值與空值處理的實(shí)現(xiàn)方法

 更新時(shí)間:2019年10月12日 14:43:55   作者:lwgkzl  
這篇文章主要介紹了pandas 缺失值與空值處理的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.相關(guān)函數(shù)

  • df.dropna()
  • df.fillna()
  • df.isnull()
  • df.isna()

2.相關(guān)概念

空值:在pandas中的空值是""

缺失值:在dataframe中為nan或者naT(缺失時(shí)間),在series中為none或者nan即可

3.函數(shù)具體解釋

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

函數(shù)作用:刪除含有空值的行或列

axis:維度,axis=0表示index行,axis=1表示columns列,默認(rèn)為0

how:"all"表示這一行或列中的元素全部缺失(為nan)才刪除這一行或列,"any"表示這一行或列中只要有元素缺失,就刪除這一行或列

thresh:一行或一列中至少出現(xiàn)了thresh個(gè)才刪除。

subset:在某些列的子集中選擇出現(xiàn)了缺失值的列刪除,不在子集中的含有缺失值得列或行不會(huì)刪除(有axis決定是行還是列)

inplace:刷選過缺失值得新數(shù)據(jù)是存為副本還是直接在原數(shù)據(jù)上進(jìn)行修改。

例子:

df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
        "toy": [np.nan, 'Batmobile', 'Bullwhip'],
         "born": [pd.NaT, pd.Timestamp("1940-04-25"),pd.NaT]})
 
print df


默認(rèn)參數(shù):刪除行,只要有空值就會(huì)刪除,不替換。

print df.dropna()
print df


print "delete colums"
print df.dropna(axis=1) #delete col


print "所有值全為缺失值才刪除"
print df.dropna(how='all')


print "至少出現(xiàn)過兩個(gè)缺失值才刪除"
print df.dropna(thresh=2)


print "刪除這個(gè)subset中的含有缺失值的行或列"
print df.dropna(subset=['name', 'born'])


DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)

函數(shù)作用:填充缺失值

value:需要用什么值去填充缺失值

axis:確定填充維度,從行開始或是從列開始

method:ffill:用缺失值前面的一個(gè)值代替缺失值,如果axis =1,那么就是橫向的前面的值替換后面的缺失值,如果axis=0,那么則是上面的值替換下面的缺失值。backfill/bfill,缺失值后面的一個(gè)值代替前面的缺失值。注意這個(gè)參數(shù)不能與value同時(shí)出現(xiàn)

limit:確定填充的個(gè)數(shù),如果limit=2,則只填充兩個(gè)缺失值。

示例:

df = pd.DataFrame([[np.nan, 2, np.nan, 0],
         [3, 4, np.nan, 1],
         [np.nan, np.nan, np.nan, 5],
        [np.nan, 3, np.nan, 4]],
         columns=list('ABCD'))
 
print df
 
print "橫向用缺失值前面的值替換缺失值"
print df.fillna(axis=1,method='ffill')
 
print "縱向用缺失值上面的值替換缺失值"
print df.fillna(axis=0,method='ffill')


print df.fillna(0)


不同的列用不同的值填充:


對每列出現(xiàn)的替換值有次數(shù)限制,此處限制為一次


DataFrame.isna()

判斷是不是缺失值:


isnull同上。

替換空值:

df = pd.DataFrame([[np.nan, 2, np.nan, 0],
         [3, 4, "", 1],
         [np.nan, np.nan, np.nan, 5],
        [np.nan, 3, "", 4]],
         columns=list('ABCD'))
 
print df


如上,缺失值是NAN,空值是沒有顯示。

替換空值代碼:需要把含有空值的那一列提出來單獨(dú)處理,然后在放進(jìn)去就好。

clean_z = df['C'].fillna(0)
clean_z[clean_z==''] = 'hello'
df['C'] = clean_z
print df


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

宜州市| 乌鲁木齐市| 通化县| 阿勒泰市| 邓州市| 如皋市| 青川县| 张家川| 荣成市| 闻喜县| 云林县| 洛扎县| 淳化县| 隆昌县| 眉山市| 阜宁县| 玛沁县| 红河县| 伊川县| 历史| 金山区| 舟曲县| 黄石市| 武川县| 巴南区| 安吉县| 白玉县| 深泽县| 浙江省| 衡阳县| 东宁县| 兰溪市| 芒康县| 军事| 阳原县| 赣州市| 湖北省| 宁南县| 台南市| 昌都县| 中方县|