使用petl从不同行中的值转换值?

时间:2018-06-07 14:02:12

标签: python petl

我有下表:

+---------+------------+----------------+
| 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,我试图弄清楚如何更新具有上述值的字段和来自同一行的值,然后将其填充到整个{{} 1}}列。我似乎无法为此找到有用的Price List实用程序。我应该手动编写方法吗?你们觉得怎么样?

1 个答案:

答案 0 :(得分:0)

尝试一下:

# conversion can access other values from the same row    

    table = etl.convert(table, 'Price List',
                               lambda row: 100 * (1 + row.IRR),
                               pass_row=True)