numpy中nan_to_num的具体使用

作者:山茶花开时。 时间:2021-10-31 13:04:55 

在Numpy中NaN值一般出现在数据清洗前,出现这个值说明这个数据是缺失的

在有些时候我们会选择直接删除这些数据,但有些时候这些数据是不能删除的,这个时候我们就需要使用一些方法将np.nan值替换为指定的值 

本文主要介绍利用numpy.nan_to_num方法将np.nan值替换为指定的值

# np.nan表示该值不是一个数,比如数据中收入,年龄的缺失值
np.nan == np.nan # False

numpy.nan_to_num方法用零替换NaN(numpy.nan)

import numpy as np
in_num = np.nan
out_num = np.nan_to_num(in_num)
print("Input Number:",in_num) # Input Number: nan
print("Output Number:",out_num) # Output Number: 0.0

此外,numpy.nan_to_num方法可用最大的有限数替换无穷大(numpy.inf)

import numpy as np
Infinite_num = np.inf
Negative_Infinity_num = -np.inf
np.nan_to_num(Infinite_num) # 1.7976931348623157e+308
np.nan_to_num(Negative_Infinity_num) # -1.7976931348623157e+308
import numpy as np
data = np.array([np.inf, -np.inf, np.nan, -128, 128])
deal_data = np.nan_to_num(data)

data

numpy中nan_to_num的具体使用

deal_data 

numpy中nan_to_num的具体使用

补充资料学习 

import numpy as np
# 生成一个3行4列的数组,设定第1行,第2、3列位置两个元素为np.nan
arr = np.array([[1,2,3,4],[5,6,np.nan,np.nan],[9,10,11,12]])

# 问题:如何将arr中的nan替换为0?
# 方法1
for i in range(arr.shape[1]):
   col = arr[:,i]
   col[np.isnan(col)] = 0

# 方法2,调用np.nan_to_num方法
arr = np.nan_to_num(arr)

# 方法3,用np.isnan()做索引,然后替换
# 一个ndarray数组arr,可以用np.isnan(arr)定位到nan值的位置,
# 再用arr[np.isnan(t1)] = 指定值,将nan替换为指定值
arr[np.isnan(arr)] = 0

arr 

numpy中nan_to_num的具体使用

处理过后的arr 

numpy中nan_to_num的具体使用

来源:https://blog.csdn.net/Hudas/article/details/125718673

标签:numpy,nan,to,num
0
投稿

猜你喜欢

  • 如何对PHP程序中的常见漏洞进行攻击

    2023-11-14 19:46:25
  • Thinkphp5.0 框架的请求方式与响应方式分析

    2023-11-15 00:07:09
  • 基于np.arange与np.linspace细微区别(数据溢出问题)

    2021-08-29 23:46:25
  • python将音频进行变速的操作方法

    2023-10-05 19:04:34
  • Python字符串中如何去除数字之间的逗号

    2023-12-01 22:09:48
  • 各种页面定时跳转(倒计时跳转)代码总结

    2023-09-05 00:12:01
  • python分批定量读取文件内容,输出到不同文件中的方法

    2021-10-05 21:29:30
  • 一步步解析Python斗牛游戏的概率

    2021-05-03 05:17:27
  • Python列表推导式实现代码实例

    2023-02-07 21:35:05
  • python实现手机销售管理系统

    2023-01-16 00:02:04
  • Pycharm无法显示动态图片的解决方法

    2023-01-29 23:13:42
  • python 通过SMSActivateAPI 获取验证码的步骤

    2022-04-23 15:16:43
  • Swoole webSocket客服IM消息系统方案解析

    2023-06-14 20:17:22
  • Python中的装饰器用法详解

    2022-02-09 04:03:33
  • python中h5py开源库的使用样例详解

    2022-03-30 00:37:03
  • Mysql的最大连接数怎样用java程序测试

    2009-01-14 12:05:00
  • Python torch.flatten()函数案例详解

    2022-11-11 16:04:27
  • Python实现的十进制小数与二进制小数相互转换功能

    2022-02-17 16:24:39
  • python包pdfkit(wkhtmltopdf) 将HTML转换为PDF的操作方法

    2022-11-14 18:37:28
  • PHP基于cookie与session统计网站访问量并输出显示的方法

    2023-11-15 08:38:52
  • asp之家 网络编程 m.aspxhome.com