【问题标题】:Transpose Range of a Column at a Time- Pandas一次转置列的范围-熊猫
【发布时间】:2019-10-13 04:32:11
【问题描述】:

我有一个这样的数据框,

  id    pd  pd_dt      pd_tp    pd.1    pd_dt.1     pd_tp.1 pd.2    pd_dt.2     pd_tp.2
0  1    100 per year   468      200     per year    400     300     per year    320
1  2    100 per year   60       200     per year    890     300     per year    855

现在,我需要这样的输出,

id Transposed_value
1  100
1  per year
1  468
1  200
1  per year
1  400
1  300
1  per year
1  320
2  100
2  per year
2  360
2  200
2  per year
2  890
2  300
2  per year
2  855

如果你看到,pdpd_dtpd_tp 正在与pd.1 重复..

我试过了,

df.T

这并没有给我想要的输出。任何有助于实现我的结果的建议或帮助都会很棒。

【问题讨论】:

    标签: python-3.x pandas transpose


    【解决方案1】:

    用途:

    df.set_index('id').stack().reset_index(name='Transposed_value').drop('level_1',axis=1)
    

    输出

       id   Transposed_value
    0   1   100
    1   1   per year
    2   1   468
    3   1   200
    4   1   per year
    5   1   400
    6   1   300
    7   1   per year
    8   1   320
    9   2   100
    10  2   per year
    11  2   60
    12  2   200
    13  2   per year
    14  2   890
    15  2   300
    16  2   per year
    17  2   855
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-01
      • 2020-11-26
      • 2022-06-14
      • 1970-01-01
      • 2020-02-04
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多