Сглаживание наблюдений с течением времени в одну строку

#python #pandas

#python #панды

Вопрос:

Как мне сгладить эти параметры из этого:

           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 ...
  

Я помещаю a ? в индекс, потому что я не уверен, каким он должен быть.

Ответ №1:

Вот один из способов использования 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]
  

Ответ №2:

Попробуйте df.stack() , он складывает столбцы друг на друга, давая вам серию. Вы можете перенести ряд, чтобы получить строку позже.