使用Pandas在样本年之间插值

时间:2014-10-03 21:17:46

标签: python pandas time-series

我正在尝试使用Pandas时间序列获取下面显示的指标的插值。

test.csv

year,metric
2020,290.72
2025,221.763
2030,152.806
2035,154.016

代码

import pandas as pd
df = pd.read_csv('test.csv', parse_dates={'Timestamp': ['year']},
                    index_col='Timestamp')

据我所知,这给了我一个以每年1月1日为指数的时间序列。现在我需要填写缺失年份的值(2021年,2022年,2023年,2024年,2026年等)

Pandas有办法做到这一点吗?

2 个答案:

答案 0 :(得分:0)

如果你使用的是更新版本的Pandas,你的DataFrame对象应该有一个插值方法,可以用来填补空白。

答案 1 :(得分:0)

事实证明,插值只填充值,没有值。在我上面的例子中,我要做的是重新索引,以便间隔为12个月。

# reindex with interval 12 months (M: month, S: beginning of the month)
df_reindexed = df.reindex(pd.date_range(start='20120101', end='20350101', freq='12MS'))

# method=linear works because the intervals are equally spaced out now
df_interpolated = df_reindexed.interpolate(method='linear')