【问题标题】:Create matrix 100x100 each row with next ordinal number用下一个序号创建每行 100x100 的矩阵
【发布时间】:2022-12-12 20:55:42
【问题描述】:

我尝试创建一个 100x100 矩阵,它应该在每一行中都有下一个序号,如下所示:

我创建了一个从 1 到 100 的向量,然后使用 for 循环将这个向量复制了 100 次。我收到了一个包含正确数据的数组,所以我尝试使用 np.argsort 对数组进行排序,但它没有按我想要的那样工作(我什至不知道为什么排序后会有零)。

是否有任何选项可以使用其他函数获取此矩阵?我尝试了很多方法,但最终的布局并不是我所期望的。

max_x = 101
    
z = np.arange(1,101)
print(z)

x = []

for i in range(1,max_x):
    x.append(z.copy())

print(x)

y = np.argsort(x)
y

【问题讨论】:

  • 预期结果是什么?
  • 就像屏幕截图一样 - 所以我需要矩阵的第一行填充 1,第二行填充 2,依此类推。

标签: python matrix


【解决方案1】:

argsort 返回要排序的索引,这就是你得到零的原因。你不需要那个,你想要的是转置数组。

制作x一个numpy数组并使用T

y = np.array(x).T

输出

[[  1   1   1 ...   1   1   1]
 [  2   2   2 ...   2   2   2]
 [  3   3   3 ...   3   3   3]
 ...
 [ 98  98  98 ...  98  98  98]
 [ 99  99  99 ...  99  99  99]
 [100 100 100 ... 100 100 100]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    相关资源
    最近更新 更多