Существующий вопрос, Создание Pandas кадра данных с индексом по нескольким столбцам , имеет дело с очень «обычным» DataFrame
, где все столбцы и строки являются продуктами, а все данные присутствуют.
Моя ситуация, увы, другая. У меня есть такие данные:
[{"street": "Euclid", "house":42, "area":123, (1,"bedrooms"):1, (1,"bathrooms"):4},
{"street": "Euclid", "house":19, "area":234, (2,"bedrooms"):3, (2,"bathrooms"):3},
{"street": "Riemann", "house":42, "area":345, (1,"bedrooms"):5,
(1,"bathrooms"):2, (2,"bedrooms"):12, (2, "bathrooms"):17},
{"street": "Riemann", "house":19, "area":456, (1,"bedrooms"):7, (1,"bathrooms"):1}]
, и я хочу, чтобы этот тип DataFrame
с обоими строками и столбцами, имеющими многоуровневые индексы:
area 1 2
street house bedrooms bathrooms bedrooms bathrooms
Euclid 42 123 1 4
Euclid 19 234 3 3
Riemann 42 345 5 2 12 17
Riemann 19 456 7 1
Итак, индекс строки должен быть
MultiIndex([("Euclid",42),("Euclid",19),("Riemann",42),("Riemann",19)],
names=["street","house"])
, а индекс столбцов должен быть
MultiIndex([("area",None),(1,"bedrooms"),(1,"bathrooms"),(2,"bedrooms"),(2,"bathrooms")],
names=["floor","entity"])
, и я не вижу способа генерировать эти индексы из списка словарей у меня есть.