我一直在研究Titanic数据集,我想根据类别的平均年龄在 Pclass 列中填充NA值。例如,如果NA值属于1类,那么我将用所有1类乘客的平均年龄来填充它。
在python中,我使用
data['Age'].fillna(data.groupby('Pclass')["Age"].transform("mean"), inplace = True)
在R中,我创建了一个函数并做到了:
impute_age <- function(age,class){
out <- age
for (i in 1:length(age)){
if (is.na(age[i])){
if (class[i] == 1){
out[i] <- 37
}else if (class[i] == 2){
out[i] <- 29
}else{
out[i] <- 24
}
}else{
out[i]<-age[i]
}
}
return(out)
}
如何在Python中为相同的函数创建一个函数并将其应用于age列?
(PS。我知道第一个查询是最简单的方法。但是,我想知道如何使用Python中的函数来完成类似的问题)