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))