如何在 Python 的 NumPy 中去除 NaN 值?
时间: 2024-04-16 12:26:21 浏览: 11
在 NumPy 中,可以使用 `numpy.isnan()` 函数来判断数组中的元素是否为 NaN。要去除数组中的 NaN 值,可以使用 `numpy.isnan()` 结果的布尔索引来筛选数组。
下面是一个示例代码:
```python
import numpy as np
arr = np.array([1, 2, np.nan, 4, np.nan, 6])
# 判断数组中的元素是否为 NaN
mask = np.isnan(arr)
# 使用布尔索引筛选出非 NaN 值
new_arr = arr[~mask]
print(new_arr)
```
输出结果:
```
[1. 2. 4. 6.]
```
在上面的代码中,首先使用 `numpy.isnan()` 函数判断数组 `arr` 中的元素是否为 NaN,并将结果保存在 `mask` 中。然后,使用布尔索引 `~mask` 来筛选出非 NaN 值,将其保存在 `new_arr` 中。最后,打印输出 `new_arr`。
这样就可以在 NumPy 中去除数组中的 NaN 值了。
相关问题
python numpy 去掉nan
要在NumPy中去除NaN值,你可以使用`numpy.isnan()`函数来判断数组中的NaN值,然后使用NumPy的索引功能来过滤掉这些NaN值。下面是一个示例代码:
```python
import numpy as np
arr = np.array([1, 2, np.nan, 4, np.nan, 6])
# 使用isnan函数判断数组中的NaN值
mask = np.isnan(arr)
# 使用索引功能过滤掉NaN值
arr_without_nan = arr[~mask]
print(arr_without_nan)
```
运行这段代码,输出将是 `[1. 2. 4. 6.]`,NaN值已经被去除了。
python去除矩阵中的nan值
可以使用numpy库中的nan_to_num函数来将矩阵中的nan值替换成0。代码示例:
```python
import numpy as np
matrix = np.array([[1, np.nan, 3],[4, 5, np.nan],[7, 8, 9]])
matrix_without_nan = np.nan_to_num(matrix)
print(matrix_without_nan)
```
输出结果:
```
[[1. 0. 3.]
[4. 5. 0.]
[7. 8. 9.]]
```