numpy array 将列表中负数换为nan
时间: 2023-10-25 12:09:08 浏览: 139
可以使用 numpy 的 where 函数将列表中的负数替换为 NaN,示例如下:
```python
import numpy as np
lst = [1, -2, 3, -4, 5]
arr = np.array(lst)
arr = np.where(arr < 0, np.nan, arr)
print(arr)
```
输出结果为:
```
[ 1. nan 3. nan 5.]
```
其中,`np.where(arr < 0, np.nan, arr)` 表示将数组 arr 中小于 0 的元素替换为 NaN,大于等于 0 的元素不变。
相关问题
numpy.sqrt()
numpy.sqrt() 是一个numpy库中的函数,它用于计算数组中每个元素的平方根。它返回一个数组,该数组与输入数组具有相同的形状。请注意,输入数组中的负数元素将返回NaN。
使用示例:
```python
import numpy as np
arr = np.array([4, 9, 16, 25])
sqrt_arr = np.sqrt(arr)
print(sqrt_arr) # [2. 3. 4. 5.]
```
python nan值
在 Python 中,NaN (Not a Number) 是一种特殊的浮点数值,表示一个无效的或未定义的数值。它通常表示某种计算无法返回一个合适的数值,例如零除以零或计算平方根时给负数提供了输入。
在 Python 中,可以使用 NumPy 库来处理 NaN 值。以下是一些处理 NaN 值的示例代码:
1. 检查一个值是否为 NaN:
```python
import numpy as np
value = np.nan
print(np.isnan(value)) # 输出 True
```
2. 将 NaN 值替换为其他值:
```python
import numpy as np
arr = np.array([1, 2, np.nan, 4])
arr[np.isnan(arr)] = 0
print(arr) # 输出 [1. 2. 0. 4.]
```
3. 删除包含 NaN 值的行或列:
```python
import numpy as np
arr = np.array([[1, 2, np.nan], [4, 5, 6], [7, 8, 9]])
arr = arr[~np.isnan(arr).any(axis=1)]
print(arr) # 输出 [[4. 5. 6.]]
```
这些示例演示了如何检查和处理 NaN 值。在实际应用中,根据具体情况选择最适合的方法来处理 NaN 值。
阅读全文