python - 创建具有不同值范围的多个随机 numpy 数组
问题描述
我有一个问题,所以我试图创建一个包含多个具有不同值范围的 2D 数组的 3D 数组,例如我可以这样做:
import numpy as np
np.random.seed(1)
arr = np.random.randint(1, 10, size = (2,2)) #Random 2D array with range of values (1, 10)
arr2 = np.random.randint(11, 20, size = (2,2)) #Random 2D array with range of values (11, 20)
...
然后通过这个创建3D数组
newarr = np.array([arr, arr2, ...])
我尝试这样做:
import numpy as np
np.random.seed(1)
n = 3
aux = []
for i in range (n):
if i == 0:
aux.append(rng4.randint(1, 10, size = (2, 2)))
elif i == 1:
aux.append(rng4.randint(11, 20, size = (2, 2)))
elif i == 2:
aux.append(rng4.randint(21, 30, size = (2, 2)))
newarr = np.array(aux)
输出是我想要的,但在任何一种情况下,如果我想要另一个值范围,我需要手动“添加”一个新值elif
以提供另一个范围,有没有办法可以做到这一点?谢谢!
解决方案
这是一个简单的循环编程练习:
newarr = np.empty(shape=(2, 2, n))
for i in range (n):
newarr[:,:,i] = rng4.randint(i * 10 + 1, i * 10 + 10,
size = (2, 2))
推荐阅读
- c++ - 所需的最少驾驶室(算法)
- arduino - 检查 lcd.begin() 是否被调用
- azure - 将 powershell azure 命令转换为 CLI
- mysql-workbench - 在 MySQLWorkbench 中更改快捷方式命令
- d3.js - 在两个重叠元素上捕获鼠标悬停事件
- javascript - 无法让名为“kareoke”的函数工作
- python - python numba中非常大的整数
- visual-studio-code - 如何在 Visual Studio Code 中更改在终端输入的命令的颜色?
- javascript - 加载应用程序时调用函数
- datadog - 自定义指标未发送到 datadog