【发布时间】:2019-06-28 19:45:23
【问题描述】:
如果我的 df 索引有“01-01-2000”、“01-01-2001”、“01-01-2002”等,我如何将每年的时间序列转换为每月。带有“M”的重采样方法有效,但每月系列停止在去年的“01-01”,但我希望去年的“12-01”在该范围内。感谢任何帮助。
【问题讨论】:
-
您需要通过
df.loc['12-01-last_year'] = np.NaN再添加一个数据点。 -
这只是一个猜测,因为问题不是很清楚,但您只能在两个现有数据点之间插入数据。您可以尝试外推(根据历史已知数据预测新值)。
-
我不是在尝试插值,而是在给定年份的所有月份中使用每年给定的值。类似于这里问的东西。 stackoverflow.com/questions/45306105/…
-
也许您应该尝试附上您的数据集和所需输出的示例。
-
我想在最后一个打印语句中获取 Month start 而不是 month end df = pd.DataFrame({'date':pd.date_range('2001-01-01',periods=15 , freq='AS'), 'Value_1':np.random.randint(0,100,15)}) 打印 (df) df=df.set_index('date') df_out = df.resample('M').ffill () 打印(df_out)
标签: python-3.x pandas time-series