Ich wollte dies als Kommentar zu Yanqi Mas Antwort hinzufügen, aber ich habe nicht den Ruf, noch zu kommentieren.
Wenn Sie nicht über die Reihenfolge der Gruppen kümmern, wird diese Antwort gut funktionieren:
g = x.groupby('Color')
g.groups.keys()
list(g.groups) # or this
Beachten Sie jedoch, dass g.groups
ein Wörterbuch ist, so die Tasten sind von Natur aus ungeordneten! Dies ist auch dann der Fall, wenn Sie sort=True
für die Methode groupby
verwenden, um die Gruppen zu sortieren, was standardmäßig der Fall ist.
Das hat mich wirklich hart gekostet, als es zu einer anderen Reihenfolge auf zwei Plattformen führte, zumal ich das zweite Formular oben verwendete, also war es zunächst nicht offensichtlich, dass g.groups
ein dict
war.
Meiner Meinung nach ist der beste Weg, dies zu tun, ist, dass die GroupBy object has an iterator, mich die Tatsache zunutze zu nehmen und eine Liste Verständnis verwenden, um die Gruppen in der Reihenfolge, wie sie in dem GroupBy Objekt vorhanden zurückzukehren:
g = x.groupby('Color')
groups = [name for name,unused_df in g]
Es ist ein wenig weniger lesbar, aber dies wird immer die Gruppen in der richtigen Reihenfolge zurückgeben.
Sie möchten also eine Liste der eindeutigen Werte in Farbe? –
Sie können die einzigartigen Werte von Ihrem ursprünglichen df bekommen, keine Notwendigkeit, 'x ['Color'] zu gruppieren. Unique()' – EdChum
Das x ['Color']. Unique war genau das, wonach ich suchte. Vielen Dank. – user3745115