使用python在单独的数据框中查找的值来计算新数据框列中的值

金_乌龟

(对不起,我是Stack的新手,这是我的第一个问题)

我有两个数据框,一个包含不同物业的房价, 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对于具有2015-02-16F属性,deed_date将为:norm_price= price_paid/(205163)

我认为我需要创建一个for遍历的每一行循环,ppd_df但是不确定如何执行循环我尝试使用.itertuples.mergenp.searchsorted熊猫:选择基于另一个DF DF行这里的答案似乎也相似,但是我无法解决我的问题。

谢谢!

金_乌龟

使用@Prish的解决方案,我可以通过以下几个步骤来回答我的问题:

def norm(row):
   t_col = row['property_type'] + '_price'
   date = row['deed_date']
   d_row = ave_df.index.values[(date >= ave_df['price_date']) & (date <= ave_df['month_end'])]                       
   ave_price = ave_df.loc[d_row, t_col].values[0]
   return ave_price

ppd_df['norm_price'] = ppd_df['price_paid'] / ppd_df.apply(lambda row: norm(row), axis=1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用旧数据框中的值来计算新数据框?

来自分类Dev

如何使用旧数据框中的信息预测新 Python 数据框中列的值

来自分类Dev

通过查找其他行中的值来创建新的pandas数据框列

来自分类Dev

计算值并在新的数据框列中添加引用

来自分类Dev

计算值并在新的数据框列中添加引用

来自分类Dev

通过使用列数据框中的值查找列索引

来自分类Dev

使用数据框中的值进行计算

来自分类Dev

在Python中根据值查找Pandas数据框列

来自分类Dev

在Python中根据值查找Pandas数据框列

来自分类Dev

在python中过滤并计算数据框的长度,该数据框包含不同列中的值

来自分类Dev

如何创建公式以考虑数据框中的名称及其列值来计算R中的新变量

来自分类Dev

我想过滤出一个非数字值,并使用数据框(熊猫)中的其他两列来计算它的新值

来自分类Dev

在数据框中查找值,并在pandas的新列中添加优先列值

来自分类Dev

如何通过计算熊猫数据框中的值来创建新系列?

来自分类Dev

PANDAS:根据单独数据框中的布尔值对pandas数据框元素进行计算

来自分类Dev

在数据框中查找字符串并将新值存储在新列中

来自分类Dev

如何使用python在单个数据框中查找具有多个公共值的列

来自分类Dev

在多列中存储的数据框中查找值

来自分类Dev

Python熊猫对数据框列进行分组,并使用它们来计算Excel工作表中的新列

来自分类Dev

Python Pandas 根据同一数据框中的多个列值查找列值

来自分类Dev

在不同的数据框中查找相似的列值,然后创建一个新的数据框

来自分类Dev

如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

来自分类Dev

根据单独数据框中的行和列值对数据框进行切片

来自分类Dev

如何通过删除列中的特定值来创建新的数据框?

来自分类Dev

在数据框中查找连续值

来自分类Dev

熊猫数据框中的查找值

来自分类Dev

在数据框中查找连续值

来自分类Dev

在列相同的pandas数据框中查找索引值

来自分类Dev

在pandas数据框列中查找非数字值

Related 相关文章

  1. 1

    如何使用旧数据框中的值来计算新数据框?

  2. 2

    如何使用旧数据框中的信息预测新 Python 数据框中列的值

  3. 3

    通过查找其他行中的值来创建新的pandas数据框列

  4. 4

    计算值并在新的数据框列中添加引用

  5. 5

    计算值并在新的数据框列中添加引用

  6. 6

    通过使用列数据框中的值查找列索引

  7. 7

    使用数据框中的值进行计算

  8. 8

    在Python中根据值查找Pandas数据框列

  9. 9

    在Python中根据值查找Pandas数据框列

  10. 10

    在python中过滤并计算数据框的长度,该数据框包含不同列中的值

  11. 11

    如何创建公式以考虑数据框中的名称及其列值来计算R中的新变量

  12. 12

    我想过滤出一个非数字值,并使用数据框(熊猫)中的其他两列来计算它的新值

  13. 13

    在数据框中查找值,并在pandas的新列中添加优先列值

  14. 14

    如何通过计算熊猫数据框中的值来创建新系列?

  15. 15

    PANDAS:根据单独数据框中的布尔值对pandas数据框元素进行计算

  16. 16

    在数据框中查找字符串并将新值存储在新列中

  17. 17

    如何使用python在单个数据框中查找具有多个公共值的列

  18. 18

    在多列中存储的数据框中查找值

  19. 19

    Python熊猫对数据框列进行分组,并使用它们来计算Excel工作表中的新列

  20. 20

    Python Pandas 根据同一数据框中的多个列值查找列值

  21. 21

    在不同的数据框中查找相似的列值,然后创建一个新的数据框

  22. 22

    如何通过遍历Python数据框中的每一行将计算的值存储在新列中?

  23. 23

    根据单独数据框中的行和列值对数据框进行切片

  24. 24

    如何通过删除列中的特定值来创建新的数据框?

  25. 25

    在数据框中查找连续值

  26. 26

    熊猫数据框中的查找值

  27. 27

    在数据框中查找连续值

  28. 28

    在列相同的pandas数据框中查找索引值

  29. 29

    在pandas数据框列中查找非数字值

热门标签

归档