2017-07-03 44 views
1

数据帧我有一个小的数据帧(DF):替换NaN的所有值在大熊猫

unique a  b  c  d 
    0 None None None None 
    1 None None None None 
    2 None 0132 None None 
    3 None None None 0231 
    4 None None None None 
    5 None None 0143 None 
    6 0121 None None None 
    7 None None None 0432 

我需要与南更换所有值。我尝试应用df.fillna(np.NAN),但它不会更改单元格中存在数字的值。 如何让所有的值都被替换? 数据帧应该是这样的:

unique a  b  c  d 
    0 NaN NaN NaN NaN 
    1 NaN NaN NaN NaN 
    2 NaN NaN NaN NaN 
    3 NaN NaN NaN NaN 
    4 NaN NaN NaN NaN 
    5 NaN NaN NaN NaN 
    6 NaN NaN NaN NaN 
    7 NaN NaN NaN NaN 
+0

'df.fillna()'那种做你想要什么相反。它用另一个值替换所有的“NaN”值。因此'df.fillna(np.NAN)'用'NaN'代替所有'NaN',这是没有意义的。 – Cleared

回答

2

使用DataFrame构造,并通过指数和列名由df

df = pd.DataFrame(columns=df.columns, index=df.index) 
3

使用loc分配np.nan

df.loc[:] = np.nan 

iloc也适用

df.iloc[:] = np.nan 
1

只是为了添加到池中,这也适用:

df[:] = np.nan