Создав структуру многоиндексных столбцов, я не могу подогнать этот шаблон к фрейму данных;как это сделать? - PullRequest
0 голосов
/ 10 апреля 2019

У меня правильная многоиндексная структура для набора данных, однако я не могу вписать этот шаблон в набор данных.

Импорт набора данных:

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 слева направо.Приведенные выше данные предназначены только для представления, я хочу подогнать многоиндексный шаблон к набору данных, который состоит из похожих данных.Кроме того, как я могу расположить индекс «страна» под строкой, содержащей месяцы, как показано в ожидаемых результатах?

...