我知道如何选择所有带有平均值的数字列和fillna,但是如何使带有平均值的数字列fillna和具有模式的字符列fillna?
答案 0 :(得分:3)
在numeric
的{{1}}列中使用select_dtypes
,然后在difference
和mode
中获得非数值,并通过append
进行连接,最后致电fillna
:
通知:(感谢@jpp)
mean
df = pd.DataFrame({
'A':list('ebcded'),
'B':[np.nan,np.nan,4,5,5,4],
'C':[7,np.nan,9,4,2,3],
'D':[1,3,5,np.nan,1,0],
'F':list('aaabbb')
})
df.loc[[0,1], 'F'] = np.nan
df.loc[[2,1], 'A'] = np.nan
print (df)
A B C D F
0 e NaN 7.0 1.0 NaN
1 NaN NaN NaN 3.0 NaN
2 NaN 4.0 9.0 5.0 a
3 d 5.0 4.0 NaN b
4 e 5.0 2.0 1.0 b
5 d 4.0 3.0 0.0 b