2016-10-08 5 views
1

これは、それがサポートするメソッドによって、派生したGroupByオブジェクトで複数の元のデータフレーム/シリーズのラベルに対して何も話していないように見えます。例えば、gaの値のエントリごとに1つのエントリとGROUPBYオブジェクトを表現することエントリが複数のグループに属することができるGroupByオブジェクト

>>> x 
     a b 
0 [0, 1] 1 
1 [1, 2] 2 

ようにa様反復可能なカラムからGROUPBYオブジェクトgを構築するために、実際に可能ですか?つまり、結果は次のようになります

>>> x.iterable_groupby('a').size() 
a 
0 1 
1 2 
2 1 
>>> x.iterable_groupby('a').mean() 
    b 
0 1.0 
1 1.5 
2 2.0 

答えて

4

データフレームを整理して整理したデータセットにする必要があります。形を整える部分が頻繁に尋ねられます(123)。

整然としたデータセットでは、各行は単一のレコードを表す必要があります。そのため、あなたはこのように「ハタ」列を作成することができます。

x['a'].apply(pd.Series).stack().reset_index(level=1, drop=True).to_frame('grouper').join(x).groupby('grouper').mean() 
Out: 
      b 
grouper  
0  1.0 
1  1.5 
2  2.0 

リシェイプ部分が非常にではありません:あなたは、元のデータフレームでこれに参加した場合

x['a'].apply(pd.Series).stack().reset_index(level=1, drop=True).to_frame('grouper') 
Out: 
    grouper 
0  0 
0  1 
1  1 
1  2 

、あなたが好きなようにグループ化することができ効率的だが、私が知っている限り、パンダはまだそれのためのよりよい方法を提供していない。

関連する問題