python中用if判断数组元素是否为nan值怎么写
时间: 2023-11-27 18:50:20 浏览: 171
数学建模拟合与插值.ppt
在 Python 中,可以使用 math 库中的 isnan() 函数来判断一个数值是否为 NaN(Not a Number)。如果数组中的元素是 float 类型,可以使用如下代码:
```python
import math
arr = [1.0, 2.0, float('nan'), 4.0]
for i in range(len(arr)):
if math.isnan(arr[i]):
print(f"arr[{i}] is NaN")
else:
print(f"arr[{i}] is not NaN")
```
如果数组中的元素是 numpy 数组,可以使用 numpy 库中的 isnan() 函数来判断:
```python
import numpy as np
arr = np.array([1.0, 2.0, np.nan, 4.0])
for i in range(len(arr)):
if np.isnan(arr[i]):
print(f"arr[{i}] is NaN")
else:
print(f"arr[{i}] is not NaN")
```
注意,在 numpy 中使用 isnan() 函数时,需要先将数组元素的类型转换为 float 类型,否则会出现错误。可以使用 astype() 函数来进行类型转换:
```python
arr = np.array([1, 2, np.nan, 4])
arr = arr.astype('float64')
for i in range(len(arr)):
if np.isnan(arr[i]):
print(f"arr[{i}] is NaN")
else:
print(f"arr[{i}] is not NaN")
```
阅读全文