Pandas Split Groupby
gb = df.groupby('ZZ')
[gb.get_group(x) for x in gb.groups]
Bug Killer
gb = df.groupby('ZZ')
[gb.get_group(x) for x in gb.groups]