У меня правильная многоиндексная структура для набора данных, однако я не могу вписать этот шаблон в набор данных.
Импорт набора данных:
data = pd.read_excel('IRCC_M_TRStudy_0001_E.xls')
код для многоиндексных столбцов:
years = (2015,2016,2017,2018,2019)
months = [
("Jan", "Feb", "Mar"),
("Apr", "May", "Jun"),
("Jul", "Aug", "Sep"),
("Oct", "Nov", "Dec"),
]
tuples = [(year, f"Q{i + 1}", month) for year in years for i in range(4) for month in months[i]]
multi_index = pd.MultiIndex.from_tuples(tuples)
Моя попытка вставить этот шаблон в набор данных:
df = pd.DataFrame(data, index = data['Country of Citizenship'], columns = multi_index)
результат:
состоит из индекса «стран гражданства» и многоиндексных столбцов, состоящих из 3 уровней - годы (2015 - 2019), 4 квартала за каждый год и 3 месяца за квартал (какожидается).Однако все данные отсутствуют - все столбцы и строки показывают значения 'nan'.
Ожидаемые результаты должны выглядеть следующим образом:
2015
Q1 Q2 Q3 Q4
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Country
USA 34 33 23 12 34 23 23 12 34 56 67 57
India 33 12 29 16 35 27 25 15 33 57 63 51
Приведенная выше таблица повторяется в течение 2016,2017,2018,2019 слева направо.Приведенные выше данные предназначены только для представления, я хочу подогнать многоиндексный шаблон к набору данных, который состоит из похожих данных.Кроме того, как я могу расположить индекс «страна» под строкой, содержащей месяцы, как показано в ожидаемых результатах?