【问题标题】:Python: how to fill up the mean value referencing from another dataframe columnPython:如何填充从另一个数据框列引用的平均值
【发布时间】:2021-04-11 05:48:05
【问题描述】:

我有一个住房数据框:

价格列中缺少值。我希望用相应郊区的平均价格来填充缺失值。

这是我用同一​​列填充平均价格的代码:

all_housing_df['Price'].fillna(all_housing_df['Price'].mean())

如何填写各个郊区的均价?

【问题讨论】:

标签: python pandas join group-by fillna


【解决方案1】:

您可以按Suburb 分组,获取Price 的平均值并将其保存为字典以有条件地替换空值。

# Create dictionary for NaN values
nan_dict = all_housing_df.groupby('Suburb')['Price'].mean().to_dict()

# Replace NaN with dictionary
all_housing_df['Price'].fillna(all_housing_df['Suburb'].map(nan_dict))

【讨论】:

    【解决方案2】:

    按郊区分组后,您可以使用transform用完整列表填充缺失值

    all_housing_df["Price"].fillna(all_housing_df.groupby("Suburb")["Price"].transform("mean"))
    

    【讨论】:

      猜你喜欢
      • 2017-04-14
      • 2016-10-11
      • 1970-01-01
      • 2020-11-26
      • 1970-01-01
      • 2018-12-08
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多