我有一个由groupby()操作产生的Pandas数据帧。该数据框有两个索引(年,月)。如何相对于特定年份中的对应月份标准化列?
我的数据框如下所示:
value
year month
2000 1 1234
2 4567
2001 1 2345
2 5678
2002 1 3456
2 6789
我希望得到的数据框的每个值除以2002年的相应月度值。因此,表示相对于2002年水平的所有值。这将导致两个月的2002值均为1.0。
最有效的方法是什么?感谢任何帮助!
答案 0 :(得分:2)
将level
与df.div(df.xs(2002), level=1, axis=0)
value
year month
2000 1 0.357060
2 0.672706
2001 1 0.678530
2 0.836353
2002 1 1.000000
2 1.000000
参数一起使用。
df.xs(2002)
value
month
1 3456
2 6789
在哪里
{{1}}
除法沿第0 th 轴的第一级对齐。