(Заранее извините, я новичок в стеке, и это мой первый вопрос)
У меня есть два кадра данных, один из которых содержит цены на жилье для разных объектов, ppd_df:
price_paid deed_date postcode property_type norm_price
2 36250 2015-11-16 BA1 1JU F
3 48000 2015-11-25 BA2 0HB S
4 60000 2017-08-31 BA1 4NB F
... ... ... ... ... ...
8960 4025000 2015-07-16 BA1 2EU T
И, кадр данных поиска средних цен для каждого типа свойства в каждом месяце, ave_df
:
D_price S_price T_price F_price price_date month_end
0 459471 285234 247582 208652 2015-01-01 2015-01-31
1 450617 279424 242798 205163 2015-02-01 2015-02-28
2 444885 275747 239328 202948 2015-03-01 2015-03-31
3 443513 274575 238553 201615 2015-04-01 2015-04-30
.........................................................
10 489997 303307 262281 218513 2015-11-01 2015-11-30
11 479240 297111 256468 213380 2015-12-01 2015-12-31
Я хочу нормализовать цены в ppd_df
, чтобы сделать их более сопоставимыми путем деления каждого price_paid
по средней стоимости дома для этого определенного типа имущества за месяц, в котором оно было приобретено, и сохраните это новое значение как norm_price
.
То есть norm_price
для F
свойства с deed_date
of 2015-02-16 будет: norm_price
= price_paid
/ (205163)
Я думаю, мне нужно создать for
l oop, который проходит через каждую строку в ppd_df
но я не уверен, как go об этом. Я пытался использовать .itertuples
. .merge
и np.searchsorted
как в Pandas: выберите строки DF на основе другого DF . Ответы здесь также кажутся похожими, но я не могу заставить его работать для моей проблемы.
Спасибо!