Tôi muốn thêm nhận xét này làm nhận xét cho câu trả lời của Yanqi Ma, nhưng tôi chưa có nhận xét nào về nhận xét.
Nếu bạn không quan tâm đến thứ tự của các nhóm, câu trả lời sẽ làm việc tốt:
g = x.groupby('Color')
g.groups.keys()
list(g.groups) # or this
Tuy nhiên, lưu ý rằng g.groups
là một cuốn từ điển, vì vậy các phím vốn dĩ không có thứ tự! Đây là trường hợp ngay cả khi bạn sử dụng sort=True
theo phương pháp groupby
để sắp xếp các nhóm theo mặc định. Điều này thực sự bit tôi khó khăn khi nó dẫn đến một thứ tự khác nhau trên hai nền tảng, đặc biệt là kể từ khi tôi đã sử dụng mẫu thứ hai ở trên, do đó, nó không được rõ ràng lúc đầu rằng g.groups
là một dict
.
Theo tôi, cách tốt nhất để làm điều này là để tận dụng thực tế là GroupBy object has an iterator, và sử dụng một danh sách hiểu để trả lại nhóm theo thứ tự chúng tồn tại trong đối tượng groupby:
g = x.groupby('Color')
groups = [name for name,unused_df in g]
Đó là một chút ít có thể đọc được, nhưng điều này sẽ luôn luôn trả lại các nhóm theo thứ tự đúng.
Nguồn
2017-05-23 00:30:23
Vì vậy, bạn muốn có danh sách các giá trị duy nhất trong Màu? –
Bạn có thể nhận được các giá trị duy nhất từ orig df của bạn, không cần phải nhóm 'x ['Color']. Unique()' – EdChum
The x ['Color'] duy nhất kết thúc là chính xác những gì tôi đang tìm kiếm. Cảm ơn bạn. – user3745115