将每年的时间序列转换为每月

时间:2019-06-28 19:45:23

标签: python-3.x pandas time-series

如果我的df索引具有“ 01-01-2000”,“ 01-01-2001”,“ 01-01-2002”等等,如何将每年的时间序列转换为每月。使用'M'的重采样方法有效,但是每月序列在去年的'01 -01'停止,但是我希望范围在去年的'12 -01'。感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试添加最后一个假观察(如Quang Hoang所建议的那样):

import pandas as pd
import numpy as np

df = pd.DataFrame({'date': pd.date_range('2001-01-01', periods = 5, freq = 'AS'), 'Value_1': np.random.randint(0, 100, 4).tolist() + [np.NaN]})
df = df.set_index('date')
print(df)

原始系列于2004年1月1日结束。

df_out = df.resample('MS').ffill()
print(df_out)

新系列将于2004年12月1日结束。