【问题标题】:Distributing dataframe column headers to a dataframe row and stacking column values [closed]将数据框列标题分配到数据框行并堆叠列值[关闭]
【发布时间】:2021-05-22 19:42:32
【问题描述】:

如何对 Pandas 数据框执行以下转换?将列标题转换为一列,并将每列中的值堆叠成一列。附上一张图片以帮助澄清。

【问题讨论】:

标签: python pandas dataframe transpose


【解决方案1】:

试试:

df.melt('date', var_name='stock', value_name='quantity')

输出:

   date stock  quantity
0  2015   ABT         5
1  2016   ABT         6
2  2015  ABBV        32
3  2016  ABBV        14

给定df,

df = pd.DataFrame({'date':[2015, 2016],
                  'ABT':[5,6],
                  'ABBV':[32, 14]})

【讨论】:

    【解决方案2】:

    你可以使用:

    df = df.set_index('date').stack().reset_index()
    df.columns = ['date', 'stock', 'quantity']
    

    结果:

    print(df)
    
    
       date stock  quantity
    0  2015   ABT         5
    1  2015  ABBV        32
    2  2016   ABT         6
    3  2016  ABBV        14
    
    

    【讨论】:

      猜你喜欢
      • 2021-09-24
      • 2020-08-03
      • 2023-03-25
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多