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设计】。

相关文章

python3 pillow生成简单验证码图片的示例

使用Python的pillow模块 random 模块随机生成验证码图片,并应用到Django项目中 安装pillow $ pip3 install pillow 生成验证码图片...

Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍

Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍

1. 添加一个新对象 前面介绍了映射到实体表的映射类User,如果我们想将其持久化(Persist),那么就需要将这个由User类建立的对象实例添加到我们先前创建的Session会话实例...

python实现从本地摄像头和网络摄像头截取图片功能

python-----从本地摄像头和网络摄像头截取图片 ,具体代码如下所示: import cv2 # 获取本地摄像头 # folder_path 截取图片的存储目录 def get...

python opencv实现旋转矩形框裁减功能

python opencv实现旋转矩形框裁减功能

本文实例为大家分享了python opencv实现旋转矩形框裁减的具体代码,供大家参考,具体内容如下 经常遇见旋转矩形框的裁减问题,那么思路是,将矩形框旋转正然后再裁减 # -*-...

python实现csv格式文件转为asc格式文件的方法

python实现csv格式文件转为asc格式文件的方法

一、背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(74...