【发布时间】:2020-12-01 02:20:59
【问题描述】:
根据以下数据,我如何获得上一年的中位数平方米价格?
city_code createdYear squaremeterPrice squaremeterPrice_grouped_city_for_the_current_year
0 26 2014 33273 39632.0
1 26 2014 37500 39632.0
2 26 2014 47428 39632.0
3 26 2014 39554 39632.0
4 26 2014 38893 39632.0
5 26 2013 34231 28841.0
6 26 2014 34344 39632.0
7 26 2014 44574 39632.0
8 26 2014 25202 39632.0
9 26 2014 39632 39632.0
10 26 2014 44504 39632.0
11 26 2013 23451 28841.0
...
为了得到 squaremeterPrice_grouped_city_for_the_current_year 我使用了下面的代码:
# adding the yearly average sqm price
median_squaremeterPrice_per_city = df.groupby(["city_code"])["squaremeterPrice"].median().to_frame("squaremeterPrice_grouped_city_for_the_current_year").reset_index()
df = df.merge(median_squaremeterPrice_per_city, left_on=["city_code"], right_on=["city_code"])
df
我们的预期输出如下:
city_code createdYear squaremeterPrice squaremeterPrice_grouped_city_for_the_current_year squaremeterPrice_grouped_city_for_1_year_prior
0 26 2014 33273 39632.0 28841.0
1 26 2014 37500 39632.0 28841.0
2 26 2014 47428 39632.0 28841.0
3 26 2014 39554 39632.0 28841.0
4 26 2014 38893 39632.0 28841.0
5 26 2013 34231 28841.0 whatever was the 2012 price
6 26 2014 34344 39632.0 28841.0
7 26 2014 44574 39632.0 28841.0
8 26 2014 25202 39632.0 28841.0
9 26 2014 39632 39632.0 28841.0
10 26 2014 44504 39632.0 28841.0
11 26 2013 23451 28841.0 whatever was the 2012 price
...
【问题讨论】:
-
你能从样本数据中添加上一年的预期输出吗?
-
完成。我希望这是有道理的。它也应该按代码所指的city_code分组
-
您想要中位数还是平均值?在您的代码中,您计算的是中位数,但您写的是平均值。
-
对不起,让我纠正一下,它应该是中位数。感谢您的关注。
-
我不明白为什么
squaremeterPrice_grouped_city_for_the_current_yearof 2013 和squaremeterPrice_grouped_city_for_1_year_priorof 2014 不同
标签: python pandas date group-by