Я пытаюсь прочитать несколько CSV-файлов с неудачной структурой:
[empty], A, A, B, B
time , X, Y, X, Y
0.0 , 0, 0, 0, 0
1.0 , 2, 5, 7, 0
... , ., ., ., .
Используя pandas.read_csv
с аргументом header=[0,1]
, я могу получить доступ к значениям в порядке:
>>> df = pd.read_csv('file.csv', header=[0,1]'
>>> df.A.X
0 0
1 2
...
Но пустое поле над заголовком времени приводит к ужасному уровню Unnamed: 0_level_0
:
>>> df.columns
MultiIndex(levels=[['Unnamed: 0_level_0', 'A', 'B'], ...
Есть ли способ исправить это, чтобы я мог снова получить доступ к данным времени с помощью df.Time
?
edit
Это фрагмент реального набора данных:
,,Bone,Bone,Bone
,,Skeleton1_Hip,Skeleton1_Hip,Skeleton1_Hip
,,"1","1","1"
,,Rotation,Rotation,Rotation
Frame,Time,X,Y,Z
0,0.000000,0.009332,0.999247,0.021044
1,0.008333,0.009572,0.999217,0.020468
3,0.016667,0.009871,0.999183,0.019797
(более подробно см. Также: https://gist.github.com/fhaust/25ba612f99420d366f0597b15dbf43e7пример)
читать через:
pd.read_csv(file, skiprows=2, header=[0,1,3,4], index_col=[1])
Меня не волнует столбец Frame
, поскольку он неявно дается с индексом строки.