在使用強制類型類型轉換 int(elem)
時報錯:
ValueError: cannot convert float NaN to integer
原因:Python 3.5 + 不能將 np.nan
強制轉換爲 int
類型
解決:判斷數據是否爲 nan,是則轉換爲 0,否則強轉爲 int
import math
# 加入if判斷
if math.isnan(elem):
elem = 0
else
elem = int(elem)
python: local variable 'xxx' referenced before assignment
原因:在使用變量 xxx
時還未定義,debug 了代碼發現自己的判斷語句有不成立的情況,導致未定義 xxx
。
解決:梳理一下自己的代碼,這句報錯字面意思就是用到該變量時還未給它進行定義,如果感覺自己的代碼邏輯沒問題,考慮是不是 全局變量和局部變量的問題。參考這個:原因2
TabError: inconsistent use of tabs and spaces in indentation
原因: 在代碼中混用了 tab 和空格,導致 IDE 分不清楚,傳統方式是找出報錯的地方進行修改,但是比較快捷的方法是 格式化代碼,以 PyCharm 爲例,可以在菜單欄的 Code 中使用 Reformat Code 對代碼進行格式化。