Hướng dẫn how to check if a column is categorical in python - cách kiểm tra xem một cột có phải là phân loại trong python không
Tôi dường như không thể nhận được một kiểm tra DTYPE đơn giản làm việc với các phân loại được cải tiến của Pandas trong V0.15+. Về cơ bản tôi chỉ muốn một cái gì đó như 4.
Chúng ta có thể thấy rằng 5 cho cột phân loại là 'danh mục':
Và thông thường chúng ta có thể thực hiện kiểm tra DTYPE bằng cách so sánh với tên của DTYPE:
Nhưng điều này dường như không hoạt động khi cố gắng kiểm tra xem cột 6 có phân loại không:
Có cách nào để thực hiện các loại séc này trong Pandas V0.15+không? Đã hỏi ngày 14 tháng 11 năm 2014 lúc 7:21Nov 14, 2014 at 7:21
MariusmariusMarius 56.4K15 Huy hiệu vàng105 Huy hiệu bạc102 Huy hiệu đồng15 gold badges105 silver badges102 bronze badges 4 Thay vào đó, sử dụng thuộc tính 7 để so sánh, nó phải luôn hoạt động vì nó chỉ là một chuỗi:
Vì vậy, để tổng hợp, bạn có thể kết thúc với một chức năng đơn giản, đơn giản:
Đã trả lời ngày 14 tháng 11 năm 2014 lúc 8:32Nov 14, 2014 at 8:32
Jeff Tratnerjeff TratnerJeff Tratner 15.6K4 Huy hiệu vàng45 Huy hiệu bạc66 Huy hiệu Đồng4 gold badges45 silver badges66 bronze badges Đầu tiên, biểu diễn chuỗi của DTYPE là 8 chứ không phải 9, vì vậy điều này hoạt động:
Nhưng thực sự, như bạn nhận thấy, so sánh này mang lại một 0 cho các DTYPE khác, vì vậy bạn sẽ phải bọc nó với một khối 1.Các cách khác để kiểm tra bằng Pandas Internals:
Đối với các cột không phân loại, các câu lệnh đó sẽ trả về 2 thay vì gây ra lỗi. Ví dụ:
Đối với phiên bản cũ hơn của 3, hãy thay thế 4 trong đoạn trích trên bằng 5.
MOOT 2.0852 Huy hiệu vàng16 Huy hiệu bạc14 Huy hiệu đồng2 gold badges16 silver badges14 bronze badges Đã trả lời ngày 14 tháng 11 năm 2014 lúc 7:52Nov 14, 2014 at 7:52
Jorisjorisjoris 127K35 Huy hiệu vàng241 Huy hiệu bạc201 Huy hiệu đồng35 gold badges241 silver badges201 bronze badges 2 Chỉ cần đặt cái này ở đây vì 6 là những gì tôi thực sự đang tìm kiếm:
Cảm ơn @Jeff. Đã trả lời ngày 24 tháng 10 năm 2019 lúc 8:25Oct 24, 2019 at 8:25
Gosutogosutogosuto 5.0494 Huy hiệu vàng36 Huy hiệu bạc57 Huy hiệu đồng4 gold badges36 silver badges57 bronze badges Trong phiên bản Pandas của tôi (v1.0.3), có sẵn phiên bản ngắn hơn của câu trả lời của Joris. 0Đã trả lời ngày 1 tháng 4 năm 2020 lúc 16:36Apr 1, 2020 at 16:36
DieterdpdieterdpDieterDP 3.7312 Huy hiệu vàng27 Huy hiệu bạc36 Huy hiệu đồng2 gold badges27 silver badges36 bronze badges 1 Tôi đã chạy vào chủ đề này để tìm kiếm cùng một chức năng chính xác, và cũng tìm ra một tùy chọn khác, ngay từ tài liệu Pandas ở đây. Có vẻ như cách thức kinh điển để kiểm tra xem cột DataFrame có phải là một chuỗi phân loại nên như sau không: 1Vì vậy, theo ví dụ được đưa ra trong câu hỏi ban đầu, đây sẽ là: 2Đã trả lời ngày 17 tháng 9 năm 2020 lúc 15:37Sep 17, 2020 at 15:37
Pierre Massépierre MasséPierre Massé 5731 Huy hiệu vàng4 Huy hiệu bạc21 Huy hiệu đồng1 gold badge4 silver badges21 bronze badges Nhìn vào câu trả lời của @Jeff Tratner, vì điều kiện 7 không cần phải là 8 để được coi là một cột là cataegorical, tôi đề xuất xem xét việc phân loại các dtypes trong danh sách 'phân loại_dtypes'. 3Đã trả lời ngày 16 tháng 2 lúc 13:28Feb 16 at 13:28
|