如何在python3中创建具有连续小数的n x n大小的矩阵

时间:2018-11-14 04:37:06

标签: python-3.x numpy

我是否有如下最佳方式创建n * n矩阵?我能想到的唯一方法是创建一个n * n大小的列表并将块放入n大小的子列表中,然后应用于numpy。但是所有步骤似乎都是多余的

import numpy as np
n = 5
num = range(0, n*n)
num = [list(num[i:i+n]) for i in range(0, n*n, n)]
x = np.array([i for i in num], np.int32)
#=> [[ 0  1  2  3  4]
#    [ 5  6  7  8  9]
#    [10 11 12 13 14]
#    [15 16 17 18 19]
#    [20 21 22 23 24]]

1 个答案:

答案 0 :(得分:4)

使用np.arange生成序列,然后使用reshape

import numpy as np

np.arange(n * n).reshape(n, n)
#array([[ 0,  1,  2,  3,  4],
#       [ 5,  6,  7,  8,  9],
#       [10, 11, 12, 13, 14],
#       [15, 16, 17, 18, 19],
#       [20, 21, 22, 23, 24]])