在处理Excel数据的时候可能存在许多空白,对于空白是不处理的,但是空白列不一定是数字,出现一个问题判断一个不清楚类型的数据是不是空白
首先使用numpy判断一个数字是不是nan:
# 判断一个数字是不是nan,结果是False
np.isnan(10)
Out: False
# 判断nan是不是nan,结果True
np.isnan(np.nan)
Out: True
使用numpy判断一个字符串是不是nan:
会报异常
np.isnan('CSDN')
Traceback (most recent call last):
File "<ipython-input-30-3ff78d34eebf>", line 1, in <module>
np.isnan('CSDN')
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''
抛出这个异常:
def isNan(data):
try:
if not np.isnan(data):
return data
else:
return 'NaN' # 这里设置一个特殊的字串或者什么东西
except TypeError:
return data
运行结果:
isNan(0)
Out[44]: 0
isNan(np.nan)
Out[45]: 'NaN'
isNan('CSDN')
Out[46]: 'CSDN'
小伙伴们如果有更好的方法记得告诉我哦!