2017-01-16 4 views
0

のリストにパンダのGROUPBYオブジェクトを変換するには、私は、次のデータフレームを持っていると言う、とYSをGROUPBYたい:データフレーム

xs ys 
0 0 0 
1 1 0 
2 2 1 
3 3 1 

私は私ができる

grouped = df.groupby('ys') 

を実行することによってこれを行うことができますこの新しいgroupbyオブジェクトを繰り返し処理する代わりに、次のループでgroupによってアクセスされるデータフレームのリストが必要です。

for name, group in grouped: 
    do_something(group) 

これは可能ですか?

+0

*グループ名*でアクセスするリストが必要ですか?それ無理。おそらく 'dict'が必要です。 –

+0

いいえ、データフレームの一覧がほしいだけで、名前は気にしません。ちょうど私のループが間違っていたことが分かったので、今修正する必要があります –

答えて

4

もちろん、グループを繰り返してください。

>>> import pandas as pd, numpy as np 
>>> df = pd.DataFrame(dict(xs=list(range(4)), ys=[0,0,1,1])) 
>>> df 
    xs ys 
0 0 0 
1 1 0 
2 2 1 
3 3 1 
>>> grouped = df.groupby('ys') 
>>> dataframes = [group for _, group in grouped] 
>>> dataframes 
[ xs ys 
0 0 0 
1 1 0, xs ys 
2 2 1 
3 3 1] 
>>> 
+0

もちろん...ほとんど質問に答えました!答えをありがとう! –