0

我有一个 pandas 数据框,我知道所有列的起始值都相同,最终值是 100% 结束值的 90% 和 80%。我需要在起始值和结束值之间进行插值,并遵循 100% 值的趋势(这不是线性的)。附带说明:我尝试在开始和结束之间进行线性插值,但这不起作用,它返回了完全相同的数据帧,没有填充 NaN。

                 100%   90%      80%
Date                                
2017-01-01   6.000000     6        6
2017-02-01   6.000000   NaN      NaN
2017-03-01   6.000000   NaN      NaN
2017-04-01   6.000000   NaN      NaN
              ...   ...      ...
2027-08-01  24.666667   NaN      NaN
2027-09-01  24.666667   NaN      NaN
2027-10-01  24.666667   NaN      NaN
2027-11-01  24.666667   NaN      NaN
2027-12-01  24.666667  22.2  19.7333

解决方案:我的问题是数据类型是对象而不是浮点数。转换为浮点数并将 100% 设置为索引后,我使用以下内容来实现所需的结果:

df = df.interpolate(method='piecewise_polynomial')
4

0 回答 0