熊猫分组索引以分隔具有各自值的列

我正在尝试转换分组的 timeindex 数据帧,因此每个索引都是一个新列,并且这些列具有用于对应每个索引的数据,我该怎么做?这是例子:


data = {'field1':['a','a','c','a','b','c','a','b','c','a','b','c','c'],

       'field2':[1,5,12,10,8,4,33,9,1,33,9,1,1],

}


df = pd.DataFrame(data)

df = pd.DataFrame(data, index =['2020-01-01 06:00:00-05:00', '2020-01-01 06:20:00-05:00', '2020-01-01 06:28:00-05:00',

                                '2020-01-01 06:25:00-05:00', '2020-01-01 07:00:00-05:00', '2020-01-01 07:09:00-05:00',

                                '2020-01-01 07:15:00-05:00','2020-01-01 07:48:00-05:00', '2020-01-01 06:20:00-05:00',

                               '2020-01-01 08:33:00-05:00','2020-01-01 08:38:00-05:00','2020-01-01 06:20:00-05:00',

                               '2020-01-01 08:45:00-05:00'])

df.index = pd.to_datetime(df.index)


df=df.groupby([pd.Grouper(freq='1H'), 'field1']).count()

http://img3.mukewang.com/6408484d00010bd802890289.jpg

我想把它转换成这样:

http://img2.mukewang.com/6408485c0001d56805920103.jpg

跃然一笑
浏览 115回答 1
1回答

拉丁的传说

你快到了。只是.unstack()和transpose结果数据框  df=df.groupby([pd.Grouper(freq='1H'), 'field1']).count().unstack()\.T.reset_index().drop(columns='level_0')  field1  2020-01-01 06:00:00-05:00  2020-01-01 07:00:00-05:00  \0      a                        3.0                        1.0   1      b                        NaN                        2.0   2      c                        3.0                        1.0      2020-01-01 08:00:00-05:00  0                        1.0  1                        1.0  2                        1.0  
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python