创建了multiindex列的结构后,我无法将该模板适合数据框。这该怎么做?

时间:2019-04-10 15:17:20

标签: pandas dataframe multi-index

我为数据集使用了正确的多索引结构,但是我无法将此模板适合数据集。

导入数据集:

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年。上面的数据仅用于表示目的,我想将多索引模板适合包含类似数据的数据集。 另外,如何将索引“国家”放置在包含月份的行下方的行中,如预期结果所示?

0 个答案:

没有答案