【发布时间】:2019-11-30 11:40:31
【问题描述】:
我有一个带有 3 个级别的 MultiIndex 的 DataFrame:
id foo bar col1
0 1 a -0.225873
2 a -0.275865
2 b -1.324766
3 1 a -0.607122
2 a -1.465992
2 b -1.582276
3 b -0.718533
7 1 a -1.904252
2 a 0.588496
2 b -1.057599
3 a 0.388754
3 b -0.940285
保留 id 索引级别,我想沿 foo 和 bar 级别求和,但每个 id 具有不同的值。
例如,对于 id = 0 我想对 foo = [1] 和 bar = [["a", "b"]] 求和,对于 id = 3 我想对 foo = [2] 和bar = [["a", "b"]],对于 id = 7,我想对 foo = [[1,2]] 和 bar = [["a"]] 求和。给出结果:
id col1
0 -0.225873
3 -3.048268
7 -1.315756
我一直在尝试这些方面的东西:
df.loc(axis = 0)[[(0, 1, ["a","b"]), (3, 2, ["a","b"]), (7, [1,2], "a")].sum()
不确定这是否可能。任何优雅的解决方案(可能删除 MultiIndex?)将不胜感激!
【问题讨论】:
标签: pandas pandas-groupby