使用另一个变量类别的平均值创建一个新变量

Creating a new variable with the average of categories of another variable

我有在不同地点出售的房屋的数据。有一个变量“邮政编码”和一个变量“价格”。我必须为每个对象预测相对邮政编码的平均价格。

import pandas as pd

data = {"zipcode":[100, 100, 101, 101], "price":[500, 600, 800, 1000]}
df = pd.DataFrame(data)
df

我用每个邮政编码的平均价格创建了一个系列:

zipcode_mprice = df.groupby(["zipcode"])["price"].mean()
zipcode_mprice

我怎样才能创建一个新变量 df["pred_price"] 来提供相关邮政编码的平均价格? 有人告诉我使用函数 replace()。

谢谢!

您实际上可以将结果与数据框合并:

df = df.merge(zipcode_mprice, on= "zipcode" )
df.columns = ["zipcode","price","mean_zipcode"]
df