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

yipeiwu_com6年前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的dataframe转换为多维矩阵的方法

python的dataframe转换为多维矩阵的方法

最近有一个需求要把dataframe转换为多维矩阵,然后可以使用values来实现,下面记录一下代码,方便以后使用。 import pandas as pd import numpy...

python中dir函数用法分析

本文实例讲述了python中dir函数用法。分享给大家供大家参考。具体分析如下: dir 函数返回任意对象的属性和方法列表, 包括模块对象、函数对象、字符串对象、列表对象、字典对象 .....

Python中模块(Module)和包(Package)的区别详解

1. 模块(Module) 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文...

python实现定时发送qq消息

python实现定时发送qq消息

因为生活中老是忘记各种事情,刚好又在学python,便突发奇想通过python实现提醒任务的功能(尽管TIM有定时功能),也可定时给好友、群、讨论组发送qq消息。其工作流程是:访问数据库...

浅谈DataFrame和SparkSql取值误区

浅谈DataFrame和SparkSql取值误区

1、DataFrame返回的不是对象。 2、DataFrame查出来的数据返回的是一个dataframe数据集。 3、DataFrame只有遇见Action的算子才能执行 4、Spark...