(1) С учетом следующего кадра данных:
d e val
-----------------
1 0 40 125
2 10 35 150
3 11 30 110
4 15 65 115
Есть ли способ попасть в следующий ряд:
val_0 val_10 val_11 val_15 e_0 e_10 e_11 e_15
-----------------------------------------------------------------------
1 125 150 110 115 40 35 30 65
Это довольно легко сделать с помощью ручной итерации по строкам, но в идеале я бы искал векторизованное решение. По сути, я думаю, что мне нужен способ создать / назначить строки на основе некоторого имени столбца + значения столбца.
(2) Следующим шагом было бы фактически вывести по одной строке для каждого значения, учитывая группу по столбцу. Чтобы построить на примере выше, следующее:
d e val gp
----------------------
1 0 40 125 3
2 10 35 150 3
3 11 30 110 3
4 15 65 115 3
1 0 70 225 4
2 10 85 250 4
3 11 90 210 4
4 15 95 215 4
Будет выводить:
gp val_0 val_10 val_11 val_15 e_0 e_10 e_11 e_15
-------------------------------------------------------------------
3 125 150 110 115 40 35 30 65
4 225 250 210 215 70 85 90 95
Опять же, выполнение (2) при решении (1) может быть выполнено простым groupby('gp').apply(some_fun)
, но если бы в Pandas был встроенный способ сделать это, это было бы огромным преимуществом с точки зрения производительности.