Replace all odd numbers in arr with -1 without changing arr input: arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
时间: 2023-07-02 12:23:31 浏览: 137
MATS 4 5 6 7 8 9
你可以使用 NumPy 库中的 `where` 函数来实现将数组中的奇数替换为 -1,但不改变原始的 `arr` 数组。
例如,假设有一个数组 `arr`,你想将其中所有奇数替换为 -1,可以使用以下代码:
``` python
import numpy as np
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
new_arr = np.where(arr % 2 == 1, -1, arr)
print(new_arr) # 输出 [ 0 -1 2 -1 4 -1 6 -1 8 -1]
```
在这个例子中,`where` 函数的第一个参数是一个条件,即 `arr % 2 == 1`,它返回一个布尔数组,表示哪些元素满足条件。即所有奇数元素。第二个参数是条件满足时要替换的值,即 -1。第三个参数是条件不满足时要保留的原始值,即 `arr` 数组中的元素。
这样,`new_arr` 中所有奇数元素都被替换为 -1,而原始的 `arr` 数组则没有改变。
阅读全文