Pandas 数据帧具有多级列索引的分组依据

Pandas 数据帧具有多级列索引的分组依据,pandas,dataframe,pandas-groupby,multi-index,Pandas,Dataframe,Pandas Groupby,Multi Index,有没有一种方法可以按数据帧具有多级列索引的列进行分组 例如,如果我们有以下数据框: arrays=[['bar', 'bar', 'baz', 'baz', 'foo', 'foo'],['one', 'two', 'one', 'two', 'one', 'two']] tuples = list(zip(*arrays)) index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second']) df = pd.DataFram

有没有一种方法可以按数据帧具有多级列索引的列进行分组

例如,如果我们有以下数据框:

arrays=[['bar', 'bar', 'baz', 'baz', 'foo', 'foo'],['one', 'two', 'one', 'two', 'one', 'two']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(3, 6), index=['A', 'B', 'C'], columns=index)
df[('foo','two')] = ['L1', 'L1', 'L2']
这看起来像:

first        bar                 baz                 foo    
second       one       two       one       two       one two
A      -0.484875 -1.150611  0.661847  0.513653 -0.775554  L1
B      -0.871233 -1.022598 -0.446219  0.306569 -1.031515  L1
C      -0.510137 -0.206838 -0.195791 -0.591447  0.830448  L2
我该如何做下面这样的事情

df.groupby(('foo', 'two'))
该代码引发了一个异常:

    raise ValueError("Grouper for '%s' not 1-dimensional" % t)
ValueError: Grouper for 'foo' not 1-dimensional

正如评论所说,这是由过时的熊猫模块造成的

在该版本(0.20.3)中,以下groupby起作用:

df.groupby([('foo', 'two')])

正如评论所说,这是由过时的熊猫模块造成的

在该版本(0.20.3)中,以下groupby起作用:

df.groupby([('foo', 'two')])

这对我来说很好,请更新你的熊猫~是的,对我来说也很好。熊猫1.1.0版在我这边很好用,请更新你的熊猫~是的,对我也很好用。熊猫1.1.0版