我想按多列对行进行分组。为了说明这一点,可以看下面的小例子:
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)
我尝试搜索答案,但似乎找不到任何结果。
有人可以告诉我我做错了什么吗?