Python Numpy:找到list中的np.nan值方法

yipeiwu_com5年前Python基础

这个问题源于在训练机器学习的一个模型时,使用训练数据时提示prepare的数据中存在np.nan

报错信息如下:

ValueError: np.nan is an invalid document, expected byte or unicode string. 

刚开始不知道为什么会有这个,后来发现是list中存在nan值

下面是找到nan值的方法:

简单找到:

import numpy as np

x = np.array([2,3,np.nan,5,
  np.nan,5,2,3])

for item in x:
 if np.isnan(item):
 print('yes')


拿到index数组:

x = np.array([[1,2,3,4],
  [2,3,np.nan,5],
  [np.nan,5,2,3]])
print(np.argwhere(np.isnan(x)))
output: 
array([[1, 2], 
[2, 0]])

然而实际上,有些时候,如果是用pandas读出的数据,在list中print时提示为nan,但用isnan方法却并不能正确判断,会提示TypeError,此时需要用pandas.isnull()判断该值是否为空

下面是numpy.isnan()的文档

Python Numpy:找到list中的np.nan值

以上这篇Python Numpy:找到list中的np.nan值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python搭建Spark分布式集群环境

Python搭建Spark分布式集群环境

前言 Apache Spark 是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。Spark 最大的特点就是快,可比 Hadoop MapReduce 的处理速度快 100 倍。本...

Python运维之获取系统CPU信息的实现方法

使用Python进行运维工作的时候有时候需要获取CPU的信息,这在psutil模块库的帮助下非常容易实现。 常见的CPU信息有以下几种: 1,用户时间以及百分比; 2,系统时间以及百分比...

python数据结构之链表详解

python数据结构之链表详解

数据结构是计算机科学必须掌握的一门学问,之前很多的教材都是用C语言实现链表,因为c有指针,可以很方便的控制内存,很方便就实现链表,其他的语言,则没那么方便,有很多都是用模拟链表,不过这次...

编程语言Python的发展史

编程语言Python的发展史

Python是我喜欢的语言,简洁、优美、易用。前两天,我很激昂地向朋友宣传Python的好处。 “好吧,我承认Python不错,但它为什么叫Python呢?” “呃,似乎是一个电视剧的名...

python分析作业提交情况

python分析作业提交情况

这次做一个比较贴近我实际的东西:python分析作业提交情况。 要求:     将服务器中交作业的学生(根据文件的名字进行提取)和统计成绩的表格中...