当数据帧中的None和NaN值时,与fillna()混淆

时间:2018-05-02 11:11:19

标签: python pandas dataframe fillna

当我将fillna('New_Value)应用于下面的df时,它会在None处填写除NaN以外的所有Column:DIndex 1值。

那是什么原因?

这是我的代码

df=pd.DataFrame([{'A':None,'B':False,'C':1,'D':'a','E':np.NaN,'F':True,'G':'a','H':np.NaN},{'A':1,'B':2,'C':3,'D':'None','E':1,'F':True,'G':'b'},
                 {'A':False,'B':None,'C':None,'D':True,'E':2,'F':True,'G':'b','H':None},
                    {'A':'a','B':'b','C':1,'D':'b','E':3,'F':False,'G':'c','H':np.NaN},
                     {'A':None,'B':4,'C':6,'D':'c','E':None,'F':False,'G':'c','H':None},
                     {'A':None,'B':4,'C':6,'D':'c','E':None,'F':True,'G':'d','H':True},
                     {'A':True,'B':False,'C':True,'D':False,'E':True,'F':False,'G':False}])

1 个答案:

答案 0 :(得分:0)

您在此案例中将None写为string。删除引号'

df = pd.DataFrame([{'A':None,'B':False,'C':1,'D':'a','E':np.NaN,'F':True,'G':'a','H':np.NaN},{'A':1,'B':2,'C':3,'D':None,'E':1,'F':True,'G':'b'}, ...)

如果无法修改df,请替换字符串:

df = df.replace({'None':'New_Value'})