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