2012-08-26 35 views
19

Tôi đang cố gắng tìm ra cách sắp xếp kết quả của pandas.DataFrame.groupby.mean() một cách thông minh.gấu trúc - cách sắp xếp kết quả của DataFrame.groupby.mean()?

tôi tạo ra một tập hợp của DataFrame của tôi như thế này:

means = df.testColumn.groupby(df.testCategory).mean() 

bây giờ tôi cố gắng sắp xếp này bằng giá trị, nhưng nhận được một lỗi:

means.sort() 
... 
-> Exception: This Series is a view of some other array, to sort in-place you must create a copy 

sau đó tôi cố gắng tạo ra một bản sao:

meansCopy = Series(means) 
meansCopy.sort() 
-> Exception: This Series is a view of some other array, to sort in-place you must create a copy 

Tôi làm cách nào để phân loại này hoạt động?

Trả lời

27

Hãy thử sử dụng order, ví dụ: means = means.order()

+5

Tất cả .sort_index này(), .argsort() và như vậy là rất khó hiểu ... doc không nói nhiều ... – smci

+0

Đồng ý với @smci. Nếu bất cứ ai có thể chỉnh sửa câu trả lời này để giải thích nó tốt hơn, điều đó sẽ được đánh giá cao. Tôi chạy vào vấn đề này với một loạt được chọn ra khỏi một khung dữ liệu (như trái ngược với một cái gì đó từ groupby). –

+1

Bạn có thể sử dụng '.sort (inplace = False)', tương đương với '.order()'. Sự khác biệt là 'thứ tự' tạo đối tượng Series mới và' sort' không theo mặc định. – NeoJi

Các vấn đề liên quan