python-3.x - 使用 pandas dataframe 列值来透视其他列

标签 python-3.x pandas pivot pivot-table

我有以下 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/

相关文章:

python-3.x - 基于映射的列乘法

python - Pandas:增量计算列中的出现次数

python - Python中根据唯一键将列中的类别转换为编码为1或0的多列

python - 实例内的字典迭代不符合预期

python - 使用 sympy 求解超越方程

Python Plotly 多重直方图与平均线

sql - 将列中的类似数据合并到单行中

scala - Spark : Pivot with multiple columns

javascript - 为什么Python的datetime和JS的Date不匹配?

python - 使用 pandas 从字符串矩阵构造计数矩阵(整数)的方法(Python)