转换/分离和转置GROUPBY或日期时间对象到数据帧(Converting/splitting an

2019-09-27 07:06发布

我有一个熊猫DF:

                                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

我想改变这样的:

           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
2016-06-02 1190.879        NA              1190.025        1187.057        1186.600

我以为我可以把这些数据通过日期是这样的:

df.groupby(df.index.values.astype('<M8[D]'))

但我怎么转换这个GROUPBY对象与换位列的数据帧?

Answer 1:

与当前指数的日期和时间重新分配你的索引unstack

df.index = [df.index.date, df.index.time]
df.Reading.unstack()



文章来源: Converting/splitting and transposing a groupby or datetime object into dataframe