Я хочу добавить это в качестве комментария к отвечу Yanqi Ma, но у меня пока нет репутации, чтобы комментировать.
Если вы не заботитесь о порядке групп, то ответ будет работать нормально:
g = x.groupby('Color')
g.groups.keys()
list(g.groups) # or this
Однако, обратите внимание, что g.groups
является словарем, так ключи неотъемлемо неупорядоченные! Это так, даже если вы используете sort=True
по методу groupby
для сортировки групп, что по умолчанию равно true.
Это на самом деле немного меня укусило, когда на двух платформах это привело к другому порядку, тем более что я использовал вторую форму выше, поэтому сначала не было очевидно, что g.groups
был dict
.
На мой взгляд, лучший способ сделать это, чтобы воспользоваться тем фактом, что GroupBy object has an iterator, и использовать список понимание для возвращения группы в порядке, они существуют в объекте GroupBy:
g = x.groupby('Color')
groups = [name for name,unused_df in g]
Это немного менее читаемо, но это всегда будет возвращать группы в правильном порядке.
Значит, вам нужен список уникальных значений в цвете? –
Вы можете получить уникальные значения из вашего исходного df, не нужно группировать 'x ['Color']. Unique()' – EdChum
x ['Color']. Unique оказался именно тем, что я искал. Спасибо. – user3745115