Длина моего набора данных составляет 20216100
В моем наборе данных есть два столбца month
и cloud_coverage
.
cloud coverage
имеет 43% null
значений.
Теперь я попытался заполнить значения null
средним значением cloud_coverage
для month
.
cloud_cov_mean=list(train.groupby('month')['cloud_coverage'].mean())
cc_dic={}
for index,val in enumerate(cloud_cov_mean):
cc_dic[index+1]=val
null_list=cc_df[cc_df['cloud_coverage'].isnull()].index.tolist()
Как только я выполню приведенный ниже код, он будет работать в течение нескольких часов без вывода .
for val in null_list:
cc_month=cc_df.loc[val,'month']
imp_val=cc_dic[cc_month]
cc_df.loc[val,'cloud_coverage']=imp_val
Есть ли альтернативный способ вменения значений null
с использованиемвыше логики?