Python Pandas NumPy NaN和Inf简介及常用操作

发布时间 2024-01-04 22:04:18作者: leviliang

NumPy(Numerical Python)是一个用于科学计算的库,它提供了对多维数组(例如矩阵)和一系列数学函数的支持。NumPy 中包含了处理 NaN(Not-a-Number)和 Inf(Infinity)等特殊值的功能。本文主要介绍一下Python Pandas NumPy 中 NaN(Not-a-Number)和 Inf(Infinity)常用赋值替换删除的处理方法,以及示例代码。

1、NaN(Not-a-Number)

NaN 是一个特殊的浮点数值,表示一个不是有效数字的值。它通常用于表示缺失的数据或不可计算的结果。

例如,

import numpy as np

# 创建一个包含 NaN 的数组
arr = np.array([3.0, 4.0, np.nan, 6.0])
print(arr)
# 将数组中的值赋值为 NaN
# np.nan为特殊的浮点数值,如数组中的值为整型,则是不能赋值的
arr[0] = np.nan
print(arr)

1)通过where方法和isnan方法查找Nan行和列

使用示例:Python Pandas NumPy NaN和Inf简介及常用操作-CJavaPy

2)数据处理

 使用示例:Python Pandas NumPy NaN和Inf简介及常用操作-CJavaPy

3)删除有Nan的行

 使用示例:Python Pandas NumPy NaN和Inf简介及常用操作-CJavaPy

2、Inf(Infinity)

Inf 表示正无穷大或负无穷大,通常是在数学计算中产生的结果。

例如,

import numpy as np

# 创建一个包含 Infinity 的数组
arr = np.array([3.0, 4.0, np.inf, -np.inf])
print(arr)

1)通过where方法和isinf方法查找Inf行和列

 使用示例:Python Pandas NumPy NaN和Inf简介及常用操作-CJavaPy

2)数据处理

 使用示例:Python Pandas NumPy NaN和Inf简介及常用操作-CJavaPy

3)删除有Inf的行

 使用示例:Python Pandas NumPy NaN和Inf简介及常用操作-CJavaPy

注意:np.infnp.nan的处理方法基本相同,注意调用处理时方法名。None是Python中用于标识空缺数据,Nan是nunpy和pandas中用于标识空缺数据,None是一个Python特殊的数据类型, 但是NaN却是用一个特殊的float。