【问题标题】:Pivoting For Multiple columns- Python旋转多列 - Python
【发布时间】:2019-01-02 15:42:44
【问题描述】:

我有一个这样的 DataFrame - .

其中有 3 列并有一些数据,我想像下面这样 PIVOT 那个 DataFrame-

如果有人能提供一些关于如何解决的想法,那将是有帮助的。

【问题讨论】:

  • 不完全取消堆叠。我想要一个特定名称的一列中的所有 3 列数据。
  • df.set_index('Name').stack().reset_index(level=1,drop=True)
  • 知道如何在新创建的列中添加列名吗?

标签: python pandas pivot-table pandas-groupby


【解决方案1】:

这种方法怎么样?

import pandas as pd
df = pd.DataFrame({'ColA': ['A','B','C'], 'ColB': ['D','E','F' ],'ColC':['G','H','I'],'Name':['Rajish','Rohit','Rahim']})
print(df)

结果:

  ColA ColB ColC    Name
0    A    D    G  Rajish
1    B    E    H   Rohit
2    C    F    I   Rahim

然后进行转换:

import pandas as pd
df = pd.DataFrame({'ColA': ['A','B','C'], 'ColB': ['D','E','F' ],'ColC':['G','H','I'],'Name':['Rajish','Rohit','Rahim']})
print(df)

结果:

df2 = (df.set_index(['Name'])
        .stack(dropna=False))
print(df2)

【讨论】:

    猜你喜欢
    • 2018-02-27
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2022-01-21
    • 2014-07-26
    相关资源
    最近更新 更多