Mảng numpy của tôi sử dụng np.nan
để chỉ định các giá trị bị thiếu. Khi tôi lặp lại tập dữ liệu, tôi cần phát hiện các giá trị bị thiếu đó và xử lý chúng theo những cách đặc biệt.
Tôi đã sử dụng một cách ngây thơ numpy.isnan(val)
, hoạt động tốt trừ khi val
không nằm trong tập hợp con các loại được hỗ trợ numpy.isnan()
. Ví dụ: dữ liệu bị thiếu có thể xảy ra trong các trường chuỗi, trong trường hợp đó tôi nhận được:
>>> np.isnan('some_string')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Not implemented for this type
Ngoài việc viết một trình bao bọc đắt tiền để bắt ngoại lệ và trả lại False
, có cách nào để xử lý điều này một cách thanh lịch và hiệu quả không?
pandas.isnull()
có vẻ hoạt động hoàn hảo. Loại dữ liệu duy nhất mà tôi hiện đang xử lý có ngắt numpy.isnan()
là chuỗi và pandas.isnull()
xử lý tốt. Trong thực tế, nó dường như xử lý tốt tất cả bất kỳ đối tượng tùy ý nào tôi ném vào nó. Có bất kỳ vấn đề cụ thể nào bạn quan tâm không? Nếu không, bạn có thể muốn gửi nhận xét của mình dưới dạng câu trả lời chính thức, vì nó có vẻ giống như câu trả lời chuẩn, ít nhất là đối với người dùng gấu trúc.
pandas
cópandas.isnull()
: Tôi không chắc liệu điều đó có đáp ứng nhu cầu của bạn hay không, vì vậy một số dữ liệu mẫu có thể tốt.