Split pandas dataframe based on groupby
I want to split the following dataframe based on column ZZ
df =
N0_YLDF ZZ MAT
0 6.286333 2 11.669069
1 6.317000 6 11.669069
2 6.324889 6 11.516454
3 6.320667 5 11.516454
4 6.325556 5 11.516454
5 6.359000 6 11.516454
6 6.359000 6 11.516454
7 6.361111 7 11.516454
8 6.360778 7 11.516454
9 6.361111 6 11.516454
As output, I want a new DataFrame
with the N0_YLDF
column split into 4, one new column for each unique value of ZZ
. How do I go about this? I can do groupby, but do not know what to do with the grouped object.
gb = df.groupby('ZZ')
[gb.get_group(x) for x in gb.groups]
There is another alternative as the groupby returns a generator we can simply use a list-comprehension to retrieve the 2nd value (the frame).
dfs = [x for _, x in df.groupby('ZZ')]