鍍金池/ 問(wèn)答/數(shù)據(jù)分析&挖掘  Python/ DataFrame格式化數(shù)據(jù)的時(shí)候怎么忽略NaN?

DataFrame格式化數(shù)據(jù)的時(shí)候怎么忽略NaN?

df是一個(gè)dataframe,其中df中有部分NaN值,如下代碼依次對(duì)每一列進(jìn)行格式化(例如把金錢變成美元符號(hào)開頭的字符串,對(duì)應(yīng)的函數(shù)是formatter_function),怎么忽略NaN值,不對(duì)其進(jìn)行處理?

for col in df.columns:
    df[col] = formatter_function(df[col])
return df
回答
編輯回答
蝶戀花

建議修改你的 formatter_function,讓它忽略 NaN,這樣簡(jiǎn)化代碼

return df.apply(formatter_function) 

否則可以這樣

return df.apply(lambda c: c[~np.isnan(c)].apply(formatter_function))
2017年2月22日 18:53