【发布时间】:2021-03-24 09:38:45
【问题描述】:
这是我目前所拥有的:
import random
import numpy as np
r1 = random.randint(0, 100)
r2 = random.randint(0, 100)
r3 = random.randint(0, 100)
if r2 < r1:
print("invalid")
elif r2 < r3:
print("invalid")
a = np.arange(r2).reshape((r1, r3))
print(a)
print(a.transpose())
基本上,我创建了 3 个随机数在 1 到 100 之间的变量,我认为我误用了 if/else 语句,并且还弄乱了程序的 np.arange().reshape() 部分。 任何帮助将不胜感激。
【问题讨论】:
-
这里的问题是,大多数时候您无法将输入数组
np.arange(r2)重塑为任意二维形状(r1, r3)。你会注意到这一点,如果你运行你的代码,你会得到cannot reshape array of size ... into shape (..., ...)。 -
错误或错误结果是什么?为什么要转置?
-
基本上它说我不能将一定大小的数组重新整形为形状。即使数组大于形状。现在我做到了:
import random import numpy as np r1 = random.randint(0, 100) r2 = random.randint(0, 100) a = np.arange(101).reshape((r1, r2)) print(a) print(a.transpose())但它仍然不起作用。 -
reshape无法更改元素总数。
标签: numpy matrix random transpose