0
我试图修复一些数据帧中的一些NaN值。我的计划是使用两个其他相关列(a和b)对行进行分组,并查看每个组中最频繁的列c的非NaN值,然后使用它填充其他行的NaN字段组。更快速的方式来填充NaN从群体的最佳选择由
我有下面的代码,它可以工作,但是非常非常慢 - 它现在已经运行了几个小时,现在有大约3百万行的数据框。
有关如何更快做到这一点的任何建议?
def fillna_with_best(x):
m = mode(x['c'])
if m.count[0] > 0:
x['c'].fillna(m.mode[0], inplace=True)
return x
df = df.groupby(['a', 'b']).apply(lambda x: fillna_with_best(x))