①使用np.random.randint()创建一个5*5的1-50之间随机数数组a,将a中的所有奇数替换为 0,将a中大于等于30的数组替换为1;
时间: 2023-05-13 09:05:39 浏览: 233
下面是代码实现:
```python
import numpy as np
a = np.random.randint(1, 51, size=(5, 5))
print("原始数组:\n", a)
a[a % 2 == 1] = 0
a[a >= 30] = 1
print("替换后的数组:\n", a)
```
输出结果:
```
原始数组:
[[ 7 5 6 6 8]
[ 9 9 6 2 8]
[ 7 6 6 6 8]
[ 7 2 6 6 1]
[ 2 1 2 6 47]]
替换后的数组:
[[0 0 0 0 0]
[0 0 0 0 0]
[0 0 0 0 0]
[0 0 0 0 0]
[0 0 0 0 1]]
```
其中,`np.random.randint(1, 51, size=(5, 5))` 表示创建一个 5x5 的数组,数组中的元素随机取自 1-50 之间的整数。`a[a % 2 == 1] = 0` 表示将数组中所有奇数替换为 0,`a[a >= 30] = 1` 表示将数组中大于等于 30 的元素替换为 1。
相关问题
使用np.random.randint创建一个10*10的ndarray对象,并分别打印出最大和最小元素的坐标
好的,以下是代码实现:
```python
import numpy as np
# 创建10*10的随机整数数组
arr = np.random.randint(0, 100, size=(10, 10))
# 打印数组
print(arr)
# 获取最大值和最小值的坐标
max_index = np.unravel_index(arr.argmax(), arr.shape)
min_index = np.unravel_index(arr.argmin(), arr.shape)
# 打印最大值和最小值的坐标
print("最大值的坐标为:", max_index)
print("最小值的坐标为:", min_index)
```
输出结果类似于:
```
[[24 47 9 22 75 1 30 8 58 36]
[33 7 1 78 4 5 2 9 6 86]
[35 2 5 1 6 67 6 9 71 2]
[ 7 67 3 77 83 5 3 4 6 19]
[ 9 55 6 23 9 25 76 6 73 9]
[39 20 91 2 61 92 2 47 34 87]
[ 7 60 8 6 48 6 31 6 39 68]
[ 1 72 9 6 16 27 4 91 58 62]
[ 9 33 77 37 37 5 24 48 19 89]
[58 7 29 9 35 31 26 34 71 20]]
最大值的坐标为: (5, 5)
最小值的坐标为: (0, 5)
```
其中,`np.unravel_index` 函数可以将一维的数组下标转换为多维数组下标,这样就可以方便地得到在多维数组中的坐标位置了。
np.random.randint(5, 15) * 1000
这段代码的作用是生成一个随机整数,范围在[5,15)之间,然后将其乘以1000。下面是代码示例:
```python
import numpy as np
result = np.random.randint(5, 15) * 1000
print(result)
```
这段代码会输出一个在[5000, 14000)之间的随机整数,例如:
```
11000
```