.groupby 和 .fillna 与中位数

etj*_*tjk 2 python dataframe pandas

# Create a groupby object: by_sex_class
by_sex_class = titanic.groupby(["sex","pclass"]).count()

# Write a function that imputes median
def impute_median(series):
    return series.fillna(series.median())

# Impute age and assign to titanic['age']
titanic.age = by_sex_class["age"].transform(impute_median)

# Print the output of titanic.tail(10)
print(titanic.tail(10))
Run Code Online (Sandbox Code Playgroud)

我不清楚我们如何将修改(分组)的 df, by_sex_class 中的 [“age”] 列分配给原始(未分组)的 df, titanic。

任务会不会很混乱?

预先感谢您的解释。

WeN*_*Ben 5

我会推荐使用这个

df['age'].fillna(df.groupby(["sex","pclass"])['age'].transform('median'),inplace=True)
Run Code Online (Sandbox Code Playgroud)