我的数据框目前看起来像这样:
country series year value
usa a 2010 21
usa b 2015 22
usa a 2017 23
usa b 2010 22
usa b 2017 23
aus a 2010 21
aus b 2015 22
aus a 2017 23
aus b 2010 22
aus b 2017 23
当我运行此代码时,它会减少国家/地区的双重性,但不会像我期望的那样减少系列。
pop2.set_index(['Country','Series'])
我想:
country series year value
usa a 2010 21
2017 23
b 2010 22
2015 22
2017 23
aus a 2010 21
2017 23
b 2010 22
2015 22
2017 23
相反,它正在返回:
country series year value
usa a 2010 21
b 2015 22
a 2017 23
b 2010 22
b 2017 23
aus a 2010 21
b 2015 22
a 2017 23
b 2010 22
b 2017 23
答案 0 :(得分:1)
每行必须有一个索引标签才能在数据框中显示。因此,您需要的是另一个级别的索引,然后您可以显示索引"分组"如你所愿。
让我们试试这个:
df.set_index(['country','series',np.arange(df.shape[0])]).sort_index()
输出:
year value
country series
aus a 5 2010 21
7 2017 23
b 6 2015 22
8 2010 22
9 2017 23
usa a 0 2010 21
2 2017 23
b 1 2015 22
3 2010 22
4 2017 23