numpy 二维数组把小于0.15的值负值为正无穷
时间: 2024-04-12 21:32:32 浏览: 13
您可以使用NumPy的条件判断和赋值操作来实现将小于0.15的值设为正无穷。以下是一个示例代码:
```python
import numpy as np
# 创建一个示例的二维数组
arr = np.array([[0.1, 0.2, 0.3],
[0.4, 0.5, 0.6],
[0.7, 0.8, 0.9]])
# 将小于0.15的值设为正无穷
arr[arr < 0.15] = np.inf
print(arr)
```
输出结果为:
```
[[ inf 0.2 0.3]
[ 0.4 0.5 0.6]
[ 0.7 0.8 0.9]]
```
在这个示例中,我们首先创建了一个示例的二维数组 `arr`。然后,使用条件判断 `arr < 0.15` 来获取小于0.15的元素的布尔掩码,然后将这些元素赋值为正无穷 `np.inf`。最后,打印输出数组 `arr` 的值。如此一来,小于0.15的值就被替换为了正无穷。
相关问题
numpy 二维数组无穷大变成0
要将 numpy 二维数组中的无穷大(inf)值变成 0,可以使用 numpy 的函数 `numpy.isinf()` 和 `numpy.where()` 来实现。下面是一个示例代码:
```python
import numpy as np
# 创建一个包含无穷大的二维数组
arr = np.array([[1, 2, np.inf], [4, np.inf, 6]])
# 将无穷大值变成 0
arr[np.isinf(arr)] = 0
print(arr)
```
这段代码中,`np.isinf(arr)` 会返回一个布尔型的数组,其中 True 代表对应位置的值是无穷大。然后,`arr[np.isinf(arr)] = 0` 将所有无穷大的位置的值设置为 0。最后,打印出变换后的数组。
运行结果应该是:
```
[[1 2 0]
[4 0 6]]
```
这样,你就成功将二维数组中的无穷大值变成了 0。
numpy二维数组转换为dataframe
可以使用pandas库中的DataFrame函数,将numpy二维数组转换为dataframe。例如,假设我们有一个名为my_array的numpy二维数组,可以使用以下代码将其转换为dataframe:
```python
import pandas as pd
import numpy as np
my_array = np.array([[1,2,3],[4,5,6],[7,8,9]])
df = pd.DataFrame(my_array)
```
其中,np.array()函数创建了一个numpy二维数组my_array,pd.DataFrame()函数将其转换为dataframe对象df。