我正在尝试转换数据框中的一列以获取新列,新列中的每一行都是从旧列和查找表插入的。例子:

原始数据框:

Date       StartingValue
2010-01-01            10
2010-01-02            25
2010-01-03            15
2010-01-04            20

查找表数据框:
StartingValue  NewValue
           10       500
           20      1200
           30      2750

想要的结果:
Date       StartingValue  NewValue
2010-01-01            10       500
2010-01-02            25      1975
2010-01-03            15       850
2010-01-04            20      1200

索引将保持不变,并且在查找表中最近的行之间的插值应该是线性的。

我可能看过 map()apply() 但不知道如何在这里使用它们,尤其是插值。感谢所有帮助。

最佳答案

numpy.interp 有这个功能:

import numpy as np

df['NewValue'] = np.interp(df['StartingValue'].values,
                           lookup_table['StartingValue'].values,
                           lookup_table['NewValue'].values)

关于python - 来自现有列和查找表的新插值列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48448627/

10-16 07:34