根据数据帧中的条件查找列的中值,并将其作为新列插入



我试图在数据帧中查找,并基于另一列查找列中数据的中值。

我有一个包含"邮政编码"数据和"价格"数据的数据帧。我想根据"邮政编码"找到"价格"的中位数,并在新的专栏中报告。当我按原样运行程序时,我会得到一列报告整个数据集的中位数,但我想添加该列,这样我们就可以得到报告的每个邮政编码的中位数。我缺的是什么?

''

d = {'zipcode': [99516, 99516, 99516, 99516, 89507, 89507, 89507], 
'price': [15000, 14000, 13000, 78000, 3000, 4000, 500]}
df = pd.DataFrame(data=d)
medians = df.groupby(['zipcode','price'])['price'].transform('median')
df['median'] = df['price'].median()
df 

''

您应该只使用邮政编码的groupby

df['median_cal'] = df.groupby('zipcode')['price'].transform('median')

最新更新