numpy中将数组空值填为0
时间: 2024-09-16 11:05:14 浏览: 17
在 NumPy 中,你可以使用 `numpy.nan_to_num()` 函数或者直接对数组应用 `fillna(0)` 来将数组中的 NaN 或者缺失值替换为 0。这两个方法的具体用法如下:
1. 使用 `numpy.nan_to_num()`:
```python
import numpy as np
array_with_nans = np.array([1, 2, np.nan, 4])
filled_array = np.nan_to_num(array_with_nans)
print(filled_array) # 输出:[ 1. 2. 0. 4.]
```
2. 使用 Pandas 的 `fillna()` 方法(适用于NumPy数组通过转换为DataFrame后的操作):
```python
from pandas.api.types import isna
array_with_nans = np.array([1, 2, np.nan, 4])
df = pd.DataFrame({'scores': array_with_nans})
filled_df = df.fillna(0)
filled_array = filled_df['scores'].values
print(filled_array) # 输出:[ 1. 2. 0. 4.]
```
注意:`nan_to_num()` 会直接将 NaN 转换成 0,而 `fillna()` 则是在数值上填充指定的值(这里是 0)。