У меня есть следующие данные в листе Excel, и я хочу прочитать их как мультииндексный фрейм данных:
Y1 Y1 Y2 Y2
B H1 H2 H1 H2
1 80 72 79.2 84.744
2 240 216 237.6 254.232
3 40 36 39.6 42.372
4 160 144 158.4 169.488
5 240 216 237.6 254.232
6 0 0 0 0
Я читаю это как:
DATA = pd.read_excel('data.xlsx',sheet_name=None)
так как я читаю и другие листы.
Вопрос 1:
Эти данные не читаются как многоиндексные данные. Как мне сделать так, чтобы он читался как многоиндексный? Или, может быть, я должен прочитать его в виде фрейма данных, а затем преобразовать его в мультииндекс?
Текущий результат чтения как фрейм данных
DATA['Load']
Y1 Y1.1 Y2 Y2.1
bus H1 H2 H1 H2
1 80 72 79.2 84.744
2 240 216 237.6 254.232
3 40 36 39.6 42.372
4 160 144 158.4 169.488
5 240 216 237.6 254.232
6 0 0 0 0
Вопрос 2 и, возможно, более фундаментальный вопрос:
Как мне справиться с мультииндексацией, когда один или несколько индексов находятся на стороне столбцов? В этом примере я хочу получить доступ к данным, указав B, Y, H
. Я знаю, как работать с несколькими индексами, когда они все являются индексами, но не могу освоить его, когда индексы находятся в столбцах.
Большое спасибо за помощь:)
PS:
Другой лист может выглядеть следующим образом:
from to x ratea
1 2 0.4 10
1 4 0.6 80
1 5 0.2 10
2 3 0.2 10
2 4 0.4 10
2 6 0.3 10
3 5 0.2 10
4 6 0.3 10
где я установлю from
и to
как установлено (set_index(['from','to']
) для получения мультииндексного фрейма данных.