【问题标题】:Transforming column headers to values将列标题转换为值
【发布时间】:2019-07-15 21:54:36
【问题描述】:

我想转换这个数据框:

Name    Address   Town   Central1   Central2   Central3   Central4   
Jean    blabla    blabla2    1          2         3           NaN 
James   BLABLA    BLABLA2    5          6         NaN           8

到这个数据框:

Name    Address   Town      Central    Code     
Jean    blabla    blabla2   Central1     1
Jean    blabla    blabla2   Central2     2
Jean    blabla    blabla2   Central3     3
Jean    blabla    blabla2   Central4     NaN
James   BLABLA    BLABLA2   Central1     5                    
James   BLABLA    BLABLA2   Central2     6
James   BLABLA    BLABLA2   Central3     NaN
James   BLABLA    BLABLA2   Central4     8

这是一种堆栈,但我不想堆叠所有数据帧。

【问题讨论】:

    标签: python pandas dataframe reshape


    【解决方案1】:

    只需检查melt

    s = df.melt(['Name','Address','Town'],var_name = 'Central',value_name = 'Code')
    s
    Out[526]: 
        Name Address     Town   Central  Code
    0   Jean  blabla  blabla2  Central1   1.0
    1  James  BLABLA  BLABLA2  Central1   5.0
    2   Jean  blabla  blabla2  Central2   2.0
    3  James  BLABLA  BLABLA2  Central2   6.0
    4   Jean  blabla  blabla2  Central3   3.0
    5  James  BLABLA  BLABLA2  Central3   NaN
    6   Jean  blabla  blabla2  Central4   NaN
    7  James  BLABLA  BLABLA2  Central4   8.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多