如何创建具有随机生成维度的随机生成矩阵,然后转置它?
How do I create a randomly generated matrix with randomly generated dimension and then transpose it?
这是我目前拥有的:
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()程序的一部分。
任何帮助将不胜感激。
您试图将形状为 r2
的数组重塑为形状为 r1, r3
的数组,这在大多数情况下是不可能的。这就像尝试将 r2
个元素排列成 r1 x r3
个网格。你的问题是过度约束。为此 r2
需要等于 r1*r3
.
我不确定你的最终目标是什么,但你可以随机获得 r1
和 r3
,然后将 r2
设置为 r1*r3
。这实际上会将 r1*r3
排列重塑为 (r1, r3)
.
的形状
r1 = random.randint(0, 100)
r3 = random.randint(0, 100)
a = np.arange(r1*r3).reshape(r1, r3)
print(a)
print(a.transpose())
这是我目前拥有的:
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()程序的一部分。 任何帮助将不胜感激。
您试图将形状为 r2
的数组重塑为形状为 r1, r3
的数组,这在大多数情况下是不可能的。这就像尝试将 r2
个元素排列成 r1 x r3
个网格。你的问题是过度约束。为此 r2
需要等于 r1*r3
.
我不确定你的最终目标是什么,但你可以随机获得 r1
和 r3
,然后将 r2
设置为 r1*r3
。这实际上会将 r1*r3
排列重塑为 (r1, r3)
.
r1 = random.randint(0, 100)
r3 = random.randint(0, 100)
a = np.arange(r1*r3).reshape(r1, r3)
print(a)
print(a.transpose())