将观察结果随时间平整为单行

时间:2019-04-11 02:00:41

标签: python pandas

如何从中拉平这些参数:

          PARAM_A           PARAM_B              PARAM_C
0        0.020087          0.689655             0.001172
1        0.083058          0.336634             0.012243
2        0.108894          0.320423             0.022950

行索引是观察期。变成这样:

  PARAM_A_0  PARAM_A_1  PARAM_A_2  PARAM_B_0  PARAM_B_1  PARAM_B_2 ...
?  0.020087   0.083058   0.108894   0.689655   0.336634   0.320423 ...

我在索引中放入了?,因为我不确定它应该是什么。

2 个答案:

答案 0 :(得分:2)

这是使用stack

的一种方法
s=df.stack()
s.index=s.index.map('{0[1]}_{0[0]}'.format)
s=s.to_frame().T
s
   PARAM_A_0  PARAM_B_0  PARAM_C_0    ...      PARAM_A_2  PARAM_B_2  PARAM_C_2
0   0.020087   0.689655   0.001172    ...       0.108894   0.320423    0.02295
[1 rows x 9 columns]

答案 1 :(得分:0)

尝试df.stack(),它将彼此堆叠的列给您一系列。您可以对系列进行转置,然后再获得一行。