Python 3.x 在一列中填写具有不同类别的NA值

Python 3.x 在一列中填写具有不同类别的NA值,python-3.x,loops,categories,fillna,Python 3.x,Loops,Categories,Fillna,我有一个数据框,你可以在所附的图片中看到(只是其中的一部分) 现在我想把NA值从“transfat_100g”列填入“碳水化合物_100g”。我想使用的方法是用具有相同类别的所有变量的平均值(列“main_category_en”)填充na值。这是一个非常大的数据集(“main_category_en”)有570000行和18000个类别,所以我尝试了以下代码: list_cat=df_analyse['main_category_en'].unique().to_list() df_=pd.D

我有一个数据框,你可以在所附的图片中看到(只是其中的一部分)

现在我想把NA值从“transfat_100g”列填入“碳水化合物_100g”。我想使用的方法是用具有相同类别的所有变量的平均值(列“main_category_en”)填充na值。这是一个非常大的数据集(“main_category_en”)有570000行和18000个类别,所以我尝试了以下代码:

list_cat=df_analyse['main_category_en'].unique().to_list()
df_=pd.DataFrame()
for cat in list_cat:
    s=[i==cat for i in df_analyse['main_category_en']]
    df_cat=df_analyse[s]
    df_cat=df_cat.fillna(df_cat.mean())
    df_=pd.concat(df_,df_cat)
但这需要很长时间。。。我不知道它是否会工作,因为它已经运行了三个小时

那么你对如何实现目标有更好的想法吗

事先非常感谢