【发布时间】:2019-04-06 21:26:00
【问题描述】:
我有以下dataframe 想要重塑:
dir hour board_sign pass
1 5 d 294
1 5 u 342
1 6 d 1368
1 6 u 1268
1 7 d 3880
1 7 u 3817
我想要做的是将“board_sign”中的值用作新列,其中将包含“pass”列中的值,以便dataframe 看起来像这样:
dir hour d u
1 5 294 342
1 6 1368 1268
1 7 3880 3817
我已经尝试了几个函数,如熔化数据透视堆栈和取消堆栈,但似乎它们都没有给出想要的结果,我也尝试了 pivot_table,但由于多索引,它很难迭代。
这似乎是一个简单的操作,但我就是做错了。 有没有其他我可以使用的功能?
谢谢。
【问题讨论】:
-
df.set_index(['dir','hour','board_sign'])['pass'].unstack() -
还有
df.pivot_table(columns='board_sign',index=['dir','hour'],values='pass') -
谢谢!!这正是我想要的!
标签: python-3.x pandas pivot pivot-table