2013-06-04 39 views
9

Có thể xóa nhóm (theo tên nhóm) khỏi đối tượng groupby trong gấu trúc không? Tức là, sau khi thực hiện một nhóm, hãy xóa một nhóm kết quả dựa trên tên của nó.Xóa nhóm sau nhóm gấu trúc

Trả lời

11

Lọc một GroupWise DataFrame đã discussed. Và một bản phát hành gấu trúc trong tương lai có thể bao gồm a more convenient way to do it.

Nhưng hiện tại, đây là những gì tôi tin là cách gọn gàng nhất để lọc đối tượng GroupBy grouped theo tên và trả về một DataFrame của các nhóm còn lại.

df.drop(grouped.get_group(group_name).index) 

Và đây là một phương pháp tổng quát hơn bắt nguồn từ các liên kết ở trên:

df[grouped[0].transform(lambda x: x.name != group_name).astype('bool')] 
+0

Tuyệt vời. Cảm ơn. Đó là một chút rõ ràng hơn tôi đã hy vọng - không quá đau đớn. – geomando

+0

Điều này không đòi hỏi chúng ta phải "tái tạo" các nhóm vì chúng ta chỉ thay đổi df? Họ có phát triển nào cho phép chúng tôi làm điều này dễ dàng hơn không? – user2051561

0

Có vẻ như không có cách nào trực tiếp để xóa nhóm khỏi đối tượng nhóm. Tôi nghĩ rằng bạn có thể lọc ra những groupby trước groupby bởi

df = df[df[group] != group_name] 
+0

Có lẽ tôi hiểu sai những gì có nghĩa là biến '' group'', nhưng bạn có thể không chỉ một DataFrame bởi một đối tượng GroupBy. –

+0

Tôi nghĩ rằng nó phải là 'df = df [df [group_name]! = Group_label]. Nhưng người áp phích đã sử dụng group_name ad group_label – waitingkuo

+0

Làm thế nào để bạn tạo group_name? –

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