gpt4 book ai didi

python Pandas : MultiIndex groupby second level of columns

转载 作者:太空宇宙 更新时间:2023-11-04 04:48:53 24 4
gpt4 key购买 nike

我正在尝试按多列对行进行分组。这个小例子可以说明我想要实现的目标:

import pandas as pd

col_index = pd.MultiIndex.from_arrays([['A','A','B','B'],['a','b','c','d']])

df = pd.DataFrame([ [1,2,3,3],
[4,2,2,2],
[6,4,2,2],
[1,2,4,4],
[3,8,4,4],
[1,2,3,3]], columns = col_index)

由此创建的 DataFrame 如下所示:

   A     B   
a b c d
0 1 2 3 3
1 4 2 2 2
2 6 4 2 2
3 1 2 4 4
4 3 8 4 4
5 1 2 3 3

我想按“c”和“d”分组,实际上是整个“B”这给了我“KeyError:'c'”

#something like this
df.groupby(['c','d'], axis = 1, level = 1)
#or like this
df.groupby('B', axis = 1, level = 0)

我尝试寻找答案,但似乎找不到任何答案。

谁能告诉我我做错了什么?

最佳答案

这是通过首先重置列来实现的一种方法:

df.set_axis(df.columns.droplevel(0), axis=1,inplace=False).groupby(['c','d']).sum()
Out[531]:
a b
c d
2 2 10 6
3 3 2 4
4 4 4 10

关于 python Pandas : MultiIndex groupby second level of columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48857303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com