使用 pandas 数据框列值来透视其他列

Orw*_*man 5 pivot pivot-table python-3.x pandas

我有以下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
Run Code Online (Sandbox Code Playgroud)

我想要做的是将“board_sign”中的值用作新列,其中将包含“pass”列中的值,以便看起来dataframe像这样:

  dir   hour     d     u
  1      5     294    342
  1      6     1368   1268
  1      7     3880   3817
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几个函数,如熔化枢轴堆栈和取消堆栈,但似乎没有一个函数给出了想要的结果,我也尝试了pivot_table,但由于多索引,它使得迭代变得困难。

这似乎是一个简单的操作,但我就是无法做到正确。我还可以使用其他功能吗?

谢谢。

Fra*_*olo 3

使用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
Run Code Online (Sandbox Code Playgroud)