注意 - 它不是Converting/splitting and transposing a groupby or datetime object into dataframe
的副本我有一只熊猫df:
nav
我想像这样(例如)
进行转换 Reading
2016-06-01 09:00:00+09:00 1190.958
2016-06-01 10:30:00+09:00 1189.886
2016-06-01 12:00:00+09:00 1194.089
2016-06-01 13:30:00+09:00 1193.464
2016-06-01 15:00:00+09:00 1193.050
2016-06-02 09:00:00+09:00 1190.879
2016-06-02 12:00:00+09:00 1190.025
2016-06-02 13:30:00+09:00 1187.057
2016-06-02 15:00:00+09:00 1186.600
2016-06-03 09:00:00+09:00 1190.879
2016-06-03 10:30:00+09:00 1189.886
2016-06-03 12:00:00+09:00 1190.025
2016-06-03 13:30:00+09:00 1187.057
2016-06-03 15:00:00+09:00 1186.600
因此,对于每一天,我需要在对应于每一天的行中获得前几天的数据(此处为w = 2)。
到目前为止,我的方法是这样的: 使用建议的方法here我最初通过执行以下操作获得每天的数据:
09:00:00+09:00 10:30:00+09:00 12:00:00+09:00 13:30:00+09:00 15:00:00+09:00 09:00:00+09:00 10:30:00+09:00 12:00:00+09:00 13:30:00+09:00 15:00:00+09:00
2016-06-01 1190.958 1189.886 1194.089 1193.464 1193.050 1190.879 NA 1190.025 1187.057 1186.600
2016-06-02 1190.879 NA 1190.025 1187.057 1186.600 1190.958 1189.886 1194.089 1193.464 1193.050
然后我使用以下方法将数据帧沿轴= 1移位:
df.index = [df.index.date, df.index.time]
df= df.unstack()
有更好的方法吗?
答案 0 :(得分:1)