将groupby或datetime对象转换/分割并转换为数据帧 [英] Converting/splitting and transposing a groupby or datetime object into dataframe

查看:208
本文介绍了将groupby或datetime对象转换/分割并转换为数据帧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一只熊猫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

我以为我可以按日期分类数据:

I thought I can group the data by date like this:

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

但是我如何转换这个组对象转换成具有转置列的数据框?

But how do i convert this groupby object into a dataframe with transposed columns?

推荐答案

使用当前索引的日期和时间重新分配索引,拆包

reassign your index with date and time of the current index and unstack

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

这篇关于将groupby或datetime对象转换/分割并转换为数据帧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆