Array numpy saya digunakan np.nan
untuk menunjukkan nilai yang hilang. Saat saya mengulangi kumpulan data, saya perlu mendeteksi nilai yang hilang tersebut dan menanganinya dengan cara khusus.
Saya menggunakan secara naif numpy.isnan(val)
, yang berfungsi dengan baik kecuali jika val
tidak termasuk dalam subset tipe yang didukung oleh numpy.isnan()
. Misalnya, data yang hilang dapat terjadi di bidang string, dalam hal ini saya mendapatkan:
>>> np.isnan('some_string')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Not implemented for this type
Selain menulis pembungkus mahal yang menangkap pengecualian dan pengembalian False
, adakah cara untuk menangani ini dengan elegan dan efisien?
pandas.isnull()
sepertinya bekerja dengan sempurna. Satu-satunya tipe data yang saat ini saya hadapi numpy.isnan()
adalah pemutusan string, dan pandas.isnull()
menanganinya dengan baik. Bahkan, tampaknya menangani dengan baik semua objek sewenang-wenang yang saya lemparkan ke sana. Apakah ada masalah khusus yang Anda khawatirkan? Jika tidak, Anda mungkin ingin mengirimkan komentar Anda sebagai jawaban yang lengkap, karena tampaknya seperti jawaban kanonik, setidaknya untuk pengguna pandas.
pandas
haspandas.isnull()
: Saya tidak yakin apakah itu memenuhi kebutuhan Anda, jadi beberapa contoh data mungkin bagus.