2017-01-16 43 views
0

說我有以下數據框中的列表,並希望GROUPBY的伊蘇:通過運行轉換一個大熊貓GROUPBY對象dataframes

grouped = df.groupby('ys') 

我可以

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

我能做到這一點迭代遍歷這個新的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

當然......在問題中幾乎回答了我自己!感謝你的回答! –