float(nan')表示nan(不是数字)。但我该如何检查呢?
当前回答
对于panda中的字符串,请使用pd.isnull:
if not pd.isnull(atext):
for word in nltk.word_tokenize(atext):
NLTK的特征提取功能
def act_features(atext):
features = {}
if not pd.isnull(atext):
for word in nltk.word_tokenize(atext):
if word not in default_stopwords:
features['cont({})'.format(word.lower())]=True
return features
其他回答
numpy.isnan(数字)告诉你它是不是NaN。
math.isnan()
或将数字与自身进行比较。NaN总是!=NaN,否则(例如,如果是数字),比较应成功。
在Python 3.6中,检查字符串值x math.isnan(x)和np.issan(x)会引发错误。所以我无法检查给定值是否为NaN,如果我事先不知道它是一个数字。以下内容似乎解决了这个问题
if str(x)=='nan' and type(x)!='str':
print ('NaN')
else:
print ('non NaN')
当python<2.6时
def isNaN(x):
return str(float(x)).lower() == 'nan'
这适用于Solaris 5.9机箱上的python 2.5.1和Ubuntu 10上的python 2.6.5
事实上我刚碰到这个,但对我来说,它是在检查nan、-inf或inf
if float('-inf') < float(num) < float('inf'):
这对于数字是正确的,对于nan和inf都是错误的,对于字符串或其他类型(这可能是一件好事)会引发异常。此外,这不需要导入任何库,如math或numpy(numpy非常大,它的大小是任何编译应用程序的两倍)。
推荐文章
- 如何在Python中进行热编码?
- 如何嵌入HTML到IPython输出?
- 在Python生成器上使用“send”函数的目的是什么?
- 是否可以将已编译的.pyc文件反编译为.py文件?
- Django模型表单对象的自动创建日期
- 在Python中包装长行
- 如何计算两个时间串之间的时间间隔
- 我如何才能找到一个Python函数的参数的数量?
- 您可以使用生成器函数来做什么?
- 将Python诗歌与Docker集成
- 提取和保存视频帧
- 使用请求包时出现SSL InsecurePlatform错误
- 如何检索Pandas数据帧中的列数?
- except:和except的区别:
- 错误:“字典更新序列元素#0的长度为1;2是必需的”