ฉันมีอาร์เรย์ของโฟลต (ตัวเลขปกติ, nans บางตัว) ที่ออกมาจากการใช้กับดาต้าเฟรมของแพนด้า
ด้วยเหตุผลบางประการ numpy.isnan ล้มเหลวในอาร์เรย์นี้อย่างไรก็ตามตามที่แสดงด้านล่างแต่ละองค์ประกอบเป็นแบบลอย numpy.isnan ทำงานอย่างถูกต้องในแต่ละองค์ประกอบประเภทของตัวแปรคืออาร์เรย์จำนวนนับ
เกิดอะไรขึ้น?!
set([type(x) for x in tester])
Out[59]: {float}
tester
Out[60]:
array([-0.7000000000000001, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan], dtype=object)
set([type(x) for x in tester])
Out[61]: {float}
np.isnan(tester)
Traceback (most recent call last):
File "<ipython-input-62-e3638605b43c>", line 1, in <module>
np.isnan(tester)
TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
set([np.isnan(x) for x in tester])
Out[65]: {False, True}
type(tester)
Out[66]: numpy.ndarray