将数组np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])中的所有奇数替换为-1
时间: 2023-08-20 21:06:05 浏览: 705
可以使用 numpy 的布尔索引来实现这个操作,具体的代码如下所示:
```python
import numpy as np
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[arr % 2 == 1] = -1
print(arr)
```
输出结果为:
```
[ 0 -1 2 -1 4 -1 6 -1 8 -1]
```
其中,`arr % 2 == 1` 用来判断 `arr` 数组中的元素是否为奇数,返回一个布尔数组,然后将这个布尔数组作为索引,将符合条件的元素赋值为 -1。
相关问题
将数组 np.array([0, 1, 2, 3, 4, 5,6, 7, 8,9])中的所有奇数替换为-1
好的,您可以使用以下代码实现:
```python
import numpy as np
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[arr%2!=0] = -1
print(arr)
```
输出结果为:
```
[ 0 -1 2 -1 4 -1 6 -1 8 -1]
```
代码解释:
首先,我们导入 numpy 模块,并创建了一个包含数字 0 到 9 的数组。然后使用 `arr%2!=0` 来找到所有奇数的位置,这个表达式返回一个布尔型数组,为 True 的元素表示数组中对应位置的值是奇数。最后,我们使用这个布尔型数组来替换所有奇数的值为 -1。
将数组np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])中的所有偶数替换为-1,而不改变原数组
可以使用 numpy 的 `where` 函数来实现这个操作,具体的代码如下所示:
```python
import numpy as np
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
new_arr = np.where(arr % 2 == 0, -1, arr)
print(new_arr)
```
输出结果为:
```
[-1 1 -1 3 -1 5 -1 7 -1 9]
```
其中,`arr % 2 == 0` 用来判断 `arr` 数组中的元素是否为偶数,返回一个布尔数组,然后使用 `where` 函数将符合条件的元素替换为 -1,不符合条件的元素保持不变。注意,这里通过 `new_arr = np.where(...)` 将替换后的新数组保存到 `new_arr` 中,保持原数组 `arr` 不变。
阅读全文