【发布时间】:2021-03-15 15:33:07
【问题描述】:
我有以下pandas DataFrame,称为df:
timestamp param_1 param_2
0.000 -0.027655 0.0
0.25 -0.034012 0.0
0.50 -0.040369 0.0
0.75 -0.046725 0.0
1.00 -0.050023 0.0
1.25 -0.011015 0.0
1.50 -0.041366 0.0
1.75 -0.056723 0.0
2.00 -0.013081 0.0
现在我需要添加从以下列表创建的两个新列:
timestamp_new = [0.5, 1.0, 1.5, 2.0]
param_3 = [10.0, 25.0, 15.0, 22.0]
问题在于timestamp_new 的粒度不同。因此,我需要对timestamp_new 和param_3 进行(线性)插值,以适应df 中timestamp 的粒度。
预期结果(请注意,我随机插入 param_3 值只是为了显示预期结果的格式):
timestamp param_1 param_2 param_3
0.000 -0.027655 0.0 8.0
0.25 -0.034012 0.0 9.0
0.50 -0.040369 0.0 10.0
0.75 -0.046725 0.0 20.0
1.00 -0.050023 0.0 25.0
1.25 -0.011015 0.0 18.0
1.50 -0.041366 0.0 15.0
1.75 -0.056723 0.0 17.0
2.00 -0.013081 0.0 22.0
有什么办法吗?
【问题讨论】:
-
在
0.5-2.0内插值会很好,但你如何解释0和0.25的输出?您只是将param_3中的第一个值减 1 吗? -
@QuangHoang:是的,可以使用启发式方法调整这两点。
标签: python pandas interpolation linear-interpolation