我有一个pandas数据框,数据如下:
数据框:
item day time data
0 item_0 2012-12-02 00:00:01 0.81
1 item_0 2012-12-02 00:00:02 0.07
2 item_0 2012-12-03 00:00:00 0.84
3 item_1 2012-12-02 00:00:01 0.47
项目+日期+时间的组合是唯一的
我正在努力转变为:
^{pr2}$我试过:
df_stage_1 = df.groupby(['item','day']).apply(lambda x: x['time'].tolist()).reset_index()
上面的代码生成了一个列表,但是时间从00:00:00开始没有对齐-我可以检查列表并添加和跟踪索引(因此可以在这些索引的值列表中添加Nan)
df_stage_1 = pd.DataFrame(df_stage_1.tolist(), )
上面的代码为我提供了一个(未对齐)时间值的dataframe,我可以将其对齐(见上文)并将其附加到在上面步骤中创建的dataframe中,但是我无法解决如何在正确的时间对齐列中获取dataframe的值
您可以使用^{} :
另一个解决方案是
set_index
,unstack
,reset_index
:请记住,pandas中的
df.unstack
指的是索引:它将索引的最内层拆开并将其旋转到列中。在相关问题 更多 >
编程相关推荐