2016-11-22 25 views
1

Multiindexの列でgroupbyを使用する方法はありますか。私はあなたが行にできることを知っており、その点で良いdocumentationがあります。しかし、私は列でグループ化することはできません。私が持っている唯一の解決策は、データフレームを転置することです。Pandas Multiindex Groupby on Columns

#generate data (copied from pandas example) 
arrays=[['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],['one', 'two', '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, 8), index=['A', 'B', 'C'], columns=index) 

今私は

df.groupby(level=1) 
df.groupby(level='first') 

を失敗したカラムをGROUPBYしようとしますが、行を転置する

df.T.groupby(level=1) 
df.T.groupby(level='first') 

に動作しますので、移調なしにこれを行う方法はありますか?

答えて

4

あなたはgroupby方法で軸を指定する必要があります。

df.groupby(level = 1, axis = 1).sum() 

enter image description here

それとも、GROUPBYレベル0を意味する場合:

df.groupby(level = 0, axis = 1).sum() 

enter image description here

関連する問題