【发布时间】:2017-03-11 18:47:26
【问题描述】:
我想根据控制表 (fillna_mean) 使用列均值填充数据帧 (df) 列 (var4) 中的 NaN 值,并将 var1 作为索引。在数据帧中,我希望它们与 var1 匹配。
我曾尝试使用 fillna 来执行此操作,但我并没有让它一直工作。如何使用 df.var1 作为匹配 fillna_mean.var1 的索引以智能方式执行此操作?
df:
df = pd.DataFrame({'var1' : list('a' * 3) + list('b' * 2) + list('c' * 4) + list('d' * 3)
,'var2' : [i for i in range(12)]
,'var3' : list(np.random.randint(100, size = 12))
,'var4' : [1, 2, np.nan, 3, 2, np.nan, 1, 34, np.nan, np.nan, 12, 12]
})
fillna_mean:
fillna = pd.DataFrame({'var1' : ['a', 'b', 'c', 'd'],
'mean' : [1, 3.5, 6.5, 10]})
最终结果是这样的:
变量 1 变量 2 变量 3 变量 4 0 69 1.0 1 17 2.0 2 83 1.0 b 3 12 3.0 b 4 36 2.0 c 5 68 6.5 c 6 13 1.0 c 7 30 34.0 c 8 23 6.5 d 9 82 10.0 d 10 32 12.0 d 11 19 12.0提前感谢您的意见!
/swepab
【问题讨论】: