如何在不知道正方形形状的情况下将任意长度的 numpy 向量重塑为方阵
How to reshape a numpy vector of arbitrary length into a square matrix without knowing shape of square
如何在不指定后者的目标行数和列数的情况下将一维 numpy 向量重塑为二维方阵?
例如,给定一个长度为 9 的向量,我知道它可以转换为 3x3 矩阵,但该向量实际上可以是任意长度(但符合方阵转换),所以我事先并不知道目标编号3。
前面只是计算平方,假设平方是整数,实际上是可转换的:
n = len(arr)
r = math.sqrt(n)
arr.reshape((r,r))
万一它是一个二维向量,我们不确定它是水平的 (1,n) 还是垂直的 (n,1)。
a_len = max(a.shape)
a_len_sqrt = int(np.sqrt(a_len))
a = a.reshape((a_len_sqrt, a_len_sqrt))
如何在不指定后者的目标行数和列数的情况下将一维 numpy 向量重塑为二维方阵?
例如,给定一个长度为 9 的向量,我知道它可以转换为 3x3 矩阵,但该向量实际上可以是任意长度(但符合方阵转换),所以我事先并不知道目标编号3。
前面只是计算平方,假设平方是整数,实际上是可转换的:
n = len(arr)
r = math.sqrt(n)
arr.reshape((r,r))
万一它是一个二维向量,我们不确定它是水平的 (1,n) 还是垂直的 (n,1)。
a_len = max(a.shape)
a_len_sqrt = int(np.sqrt(a_len))
a = a.reshape((a_len_sqrt, a_len_sqrt))