我有以下 dataframe
我想 reshape :
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
我已经尝试了几个函数,如 melt pivot stack 和 unstack,但似乎没有一个能给出想要的结果,我也尝试了 pivot_table 但由于多索引,它很难迭代。
这似乎是一个简单的操作,但我就是做不好。 我可以为此使用任何其他功能吗?
谢谢。
最佳答案
使用数据透视表
:
df = df.pivot_table(index=['dir', 'hour'], columns='board_sign', values='pass').reset_index()
del df.columns.name
df
dir hour d u
0 1 5 294 342
1 1 6 1368 1268
2 1 7 3880 3817
关于python-3.x - 使用 pandas dataframe 列值来透视其他列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53121873/