Я пытаюсь использовать Pandas для представления данных захвата движения, которые имеют T измерений местоположений (x, y, z) каждого из N маркеров. Например, при Т = 3 и N = 4, исходные данные CSV выглядит следующим образом:Есть ли простой способ группировки столбцов в Pandas DataFrame?
T,Ax,Ay,Az,Bx,By,Bz,Cx,Cy,Cz,Dx,Dy,Dz
0,1,2,1,3,2,1,4,2,1,5,2,1
1,8,2,3,3,2,9,9,1,3,4,9,1
2,4,5,7,7,7,1,8,3,6,9,2,3
Это действительно просто загрузить в DataFrame, и я узнал несколько трюков, которые легко (преобразующего маркер данные для z-оценок или вычислительные скорости, например).
Одна вещь, которую я хотел бы сделать, заключается в том, чтобы преобразовать «плоские» данные, показанные выше, в формат, который имеет иерархический индекс для столбца (маркера), так что на уровне 0 будет N столбцов (по одному для каждого маркера), и каждый из них будет иметь 3 столбца на уровне 1 (по одному для x, y и z).
A B C D
x y z x y z x y z x y z
0 1 2 1 3 2 1 4 2 1 5 2 1
1 8 2 3 3 2 9 9 1 3 4 9 1
2 4 5 7 7 7 1 8 3 6 9 2 3
Я знаю, как это сделать, загружая плоский файл, а затем манипулировать серии объектов непосредственно, возможно, с помощью append
или просто создать новый DataFrame с использованием вручную созданной мультииндексных.
Как ученик Панды, он чувствует, что должен быть способ сделать это с меньшими усилиями, но его трудно обнаружить. Есть ли более простой способ?
Вы также можете изучить использование MultiIndex, в зависимости от того, нужно ли вам делать multidimensi онльные преобразования. – smci
Есть ли разница между иерархическим индексом и MultiIndex? – lmjohns3
Я не использую его, читаю SO и pandas doc на нем. – smci