我的数据框包括:
> mean_col
Grade Speed Age
3.6 30.67 8.67
,而忽略NA的每列均值的示例是:
Grade Speed Age
7 54 13
10 30.67 4
3.6 43 23
3 30.67 NA
1 87 12
3.6 30.67 NA
我正在尝试将坡度和速度列中的NA值替换为mean_col中的平均值。
所以新的数据框看起来像:
car_df$Grade <- replace(is.na, mean_col$Grade)
car_df$Speed <- replace(is.na, mean_col$Speed)
我尝试过:
class ProductAdmin(admin.ModelAdmin):
...
def save_model(self, request, obj, form, change):
update_fields = []
for key, value in form.cleaned_data.items():
# True if something changed in model
if value != form.initial[key]:
update_fields.append(key)
obj.save(update_fields=update_fields)
但这是行不通的。希望对此有所帮助。
答案 0 :(得分:0)
使用tidyr's replace_na,您可以执行以下操作:
car_df=data.frame(Grade=c(7,10,NA,3,1,NA),Speed=c(54,NA,43,NA,87,NA),Age=c(13,4,23,NA,12,NA))
library(tidyr)
replace_na(car_df,as.list(colMeans(car_df,na.rm=T)))