日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

pandas學(xué)習(xí)之df.fillna的具體使用_python

作者:非昨 ? 更新時(shí)間: 2022-10-12 編程語(yǔ)言

df.fillna主要用來(lái)對(duì)缺失值進(jìn)行填充,可以選擇填充具體的數(shù)字,或者選擇臨近填充。

官方文檔

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

解釋

構(gòu)建實(shí)例:

import numpy as np
import pandas as pd
df = pd.DataFrame([[np.nan,22,23,np.nan],[31,np.nan,12,34],[np.nan,np.nan,np.nan,23],
[15,17,66,np.nan]],columns=list('ABCD'))
df


?? ?A?? ??? ?B?? ??? ?C?? ??? ?D
0?? ?NaN?? ??? ?22.0?? ?23.0?? ?NaN
1?? ?31.0?? ?NaN?? ??? ?12.0?? ?34.0
2?? ?NaN?? ??? ?NaN?? ??? ?NaN?? ??? ?23.0
3?? ?15.0?? ?17.0?? ?66.0?? ?NaN

value:scalar,series,dict,dataframe

填充的值,可以是一個(gè)標(biāo)量,或者字典等

df.fillna(value=1)#缺失值填充為1
    A        B        C        D
0    1.0        22.0    23.0    1.0
1    31.0    1.0        12.0    34.0
2    1.0        1.0        1.0        23.0
3    15.0    17.0    66.0    1.0
------------------------------------------
df.fillna(value={'A':2,'B':3})# 傳入一個(gè)字典,指定某列填充的具體值
    A        B        C        D
0    2.0        22.0    23.0    NaN
1    31.0    3.0        12.0    34.0
2    2.0        3.0        NaN        23.0
3    15.0    17.0    66.0    NaN

method:{backfill,bfill,pad,ffill,none},default none

填充的方法,backfill和bfill代表填充后側(cè)值,ffill和pad填充空值前側(cè)值
?

df.fillna(method='ffill')#向前填充,注意此處默認(rèn)參數(shù)axis=0,所以空值是填充上一行的數(shù)據(jù),而不是前一列。

?? ?A?? ??? ?B?? ??? ?C?? ??? ?D
0?? ?NaN?? ??? ?22.0?? ?23.0?? ?NaN
1?? ?31.0?? ?22.0?? ?12.0?? ?34.0
2?? ?31.0?? ?22.0?? ?12.0?? ?23.0
3?? ?15.0?? ?17.0?? ?66.0?? ?23.0

axis:
控制行列的參數(shù),用法和其他方法完全相同

inplace:
是否將結(jié)果賦值給原變量,和其他方法里的用法相同

limit:int 或None
向前或后填充的最大數(shù)量,必須是大于0的整數(shù)
如果指定了method參數(shù),則連續(xù)空值值填充前int個(gè)
如果未指定method參數(shù),則只填充所在軸上的前int空值
?

?? ?A?? ??? ?B?? ??? ?C?? ??? ?D#原數(shù)據(jù)
0?? ?NaN?? ??? ?22.0?? ?23.0?? ?NaN
1?? ?31.0?? ?NaN?? ??? ?12.0?? ?34.0
2?? ?NaN?? ??? ?NaN?? ??? ?NaN?? ??? ?23.0
3?? ?15.0?? ?17.0?? ?66.0?? ?NaN

df.fillna(value=0,axis=1,limit=1)#在ABCD列上,每列只填充第一個(gè)空值
?? ?A?? ??? ?B?? ??? ?C?? ??? ?D
0?? ?0.0?? ??? ?22.0?? ?23.0?? ?0.0
1?? ?31.0?? ?0.0?? ??? ?12.0?? ?34.0
2?? ?NaN?? ??? ?NaN?? ??? ?0.0?? ??? ?23.0
3?? ?15.0?? ?17.0?? ?66.0?? ?NaN

原文鏈接:https://blog.csdn.net/lisnyuan/article/details/107051836

欄目分類
最近更新