【问题标题】:Convert a value using a value from a different row with petl?使用 petl 的不同行中的值转换值?
【发布时间】:2018-11-17 11:41:06
【问题描述】:

我有下表:

+---------+------------+----------------+
| IRR     | Price List | Cambrdige Data |
+=========+============+================+
| '1.56%' | '0'        | '6/30/1989'    |
+---------+------------+----------------+
| '5.17%' | '100'      | '9/30/1989'    |
+---------+------------+----------------+
| '4.44%' | '0'        | '12/31/1990'   |
+---------+------------+----------------+

我正在尝试编写一个计算器,通过简单的计算来更新Price List 字段。逻辑基本上是这样的:

之前的价格 * ( 1 + IRR%)

所以对于最后一行,计算结果为:100 * (1 + 4.44%) = 104.44

由于我使用的是petl,因此我试图弄清楚如何使用其上述值和同一行中的值更新字段,然后将其填充到整个Price List 列中。我似乎无法为此找到有用的petl 实用程序。我应该手动编写一个方法吗?大家觉得呢?

【问题讨论】:

    标签: python petl


    【解决方案1】:

    试试这个:

    # conversion can access other values from the same row    
    
        table = etl.convert(table, 'Price List',
                                   lambda row: 100 * (1 + row.IRR),
                                   pass_row=True)
    

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 2018-11-24
      • 1970-01-01
      • 2018-11-16
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 1970-01-01
      相关资源
      最近更新 更多