python - 将时间序列转换为数据帧,使得每一行都有连续的时间片

标签 python numpy pandas

我有一个时间序列作为 pandas Series 对象。我想知道是否可以通过查看过去 60 天的值来预测一天的值。因此,我想将时间序列转换为如下所示的数据框(以便我可以将其提供给学习算法);

Day 1    Day2     ... Day 60   value
986.55   990.95   ... 1618.86  1655.5
990.95   1017.85  ... 1655.5   1669.8
1017.85  1053.68  ... 1669.8   1707.2

我怎样才能进行这样的转换?

我的时间序列如下所示(索引是 pandas.tseries.index.DatetimeIndex);

DATE
1991-01-02 986.55
1991-01-03 990.95
1991-01-04 1017.85
1991-01-05 1053.68

最佳答案

s是您获得的系列。您可以通过日复一日地对系列进行切片来从中创建一个 DataFrame:

df = pd.DataFrame([s[i:i+60].values for i in range(len(s)-60)])

然后重命名列:

df.columns=['Day '+str(i) for i in range(1,61)]

关于python - 将时间序列转换为数据帧,使得每一行都有连续的时间片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15026908/

相关文章:

python - 在每个字符串的第四个索引中添加一个点

python - 断言整数在范围内

python - 如何在 python ssl 中获取服务器选择的 TLS 版本

python - 根据条件有效反转列表中的 float

python - 如何在 Pandas 数据框中用 NaN 替换所有非数字条目?

python - Pandas:将季度数据转换为月度数据

python - 从 np.where 获得的元组的位置处的随机值到矩阵 (np.ndarray)

python - 在管理应用程序中显示模型的文档字符串

python - 将 Voronoi 图单元格区域转换为像素坐标列表

python - scipy.interp2d 警告和网格外的大错误