【问题标题】:Pivoting A Column in Pandas based on groups and dynamic column names基于组和动态列名在 Pandas 中透视列
【发布时间】:2020-09-16 13:20:22
【问题描述】:

我在 python pandas 中有一个数据框,如下所示: (前两列 mygroup1 和 mygroup2 是 groupby 列)

  df = 

 **mygroup1  mygroup2   tname       @dt      @num   @vek**

   a         p          alpha        may      6       a
   b         q          alpha        june     8       b
   c         r          beta         may      9       c
   d         s          beta         june     11      d

我想旋转表(tname 列中的值),该表应如下所示,列名与取自其他列(@dt、@num 和 @vec)的 tname 值连接

 **mygroup1  mygroup2    alpha@dt    alpha@num    alpha@vec    beta@dt  beta@num  beta@vec**
    a         p           may            6            a           nan     nan        nan
    b         q           june           8            b            nan    nan        nan
    c         r           nan            nan        nan            may     9          c
    d         s            nan           nan        nan            june    11         d

我正在尝试使用 pandas 数据透视表进行数据透视,但无法获得我真正想要的以下格式。我将不胜感激任何帮助。

【问题讨论】:

    标签: python pandas pivot-table pandas-groupby


    【解决方案1】:

    你可以这样做:

    new_df = df.set_index(['mygroup1','mygroup2','tname']).unstack('tname')
    new_df.columns = [f'{y}{x}' for x,y in new_df.columns]
    new_df = new_df.sort_index(axis=1).reset_index()
    

    输出:

      mygroup1 mygroup2 alpha@dt  alpha@num alpha@vek beta@dt  beta@num beta@vek
    0        a        p      may        6.0         a     NaN       NaN      NaN
    1        b        q     june        8.0         b     NaN       NaN      NaN
    2        c        r      NaN        NaN       NaN     may       9.0        c
    3        d        s      NaN        NaN       NaN    june      11.0        d
    

    【讨论】:

    • 非常感谢广!除了您在列创建中放入的函数“f”之外,我得到了大部分内容。它叫什么,具体在做什么。我从来没有见过!再次感谢
    • 称为f-string,类似于format函数,Python 3+可用
    猜你喜欢
    • 2021-07-04
    • 2021-05-17
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多