将一行分解为多行

Explode one row to multiple rows

我有一个这样的数据框:

df:
    policy_num var_1  var_2  var3
    333           50    40     90
    222           20    10     15
    111           10    15     25

我想要这样:

policy_num  var    value
333         var_1    50
333         var_2    40
333         var_3    90
222         var_1    20
222         var_2    10
222         var_3    15
111         var_1    10
111         var_2    15
111         var_3    25

做 df.T 给出一些接近的东西,但我不知道如何使用 policy_num 字段,因为它由列的值表示,而不是变量和值的键。

试试 melt

out = df.melt(policy_num)