Python 2D numpy数组的形状不正确

Python 2D numpy数组的形状不正确,python,python-3.x,numpy,numpy-ndarray,Python,Python 3.x,Numpy,Numpy Ndarray,我想创建5x5 numpy阵列。声明如下: aa = np.array([[2.82842712, 2.23606798, 2.0, 2.23606798, 2.82842712], [2.23606798, 1.41421356, 1.0, 1.41421356, 2.23606789], [2.0, 1.0, 0.0, 1.0, 2.0], [2.2360678

我想创建5x5 numpy阵列。声明如下:

aa = np.array([[2.82842712, 2.23606798, 2.0, 2.23606798, 2.82842712],
               [2.23606798, 1.41421356, 1.0, 1.41421356, 2.23606789],
               [2.0,        1.0,        0.0, 1.0,        2.0],
               [2.23606789, 1,41421356, 1.0, 1.41421356, 2.23606789],
               [2.82842712, 2.23606789, 2.0, 2.23606798, 2.82842712]])
MATRICE aa:
[[2.82842712, 2.23606798, 2.0, 2.23606798, 2.82842712]
 [2.23606798, 1.41421356, 1.0, 1.41421356, 2.23606789]
 [2.0, 1.0, 0.0, 1.0, 2.0]
 [2.23606789, 1, 41421356, 1.0, 1.41421356, 2.23606789]
 [2.82842712, 2.23606789, 2.0, 2.23606798, 2.82842712]]
Shape: (5,)
但当我检查它的大小是5x1

控制台阵列中打印的内容如下所示:

aa = np.array([[2.82842712, 2.23606798, 2.0, 2.23606798, 2.82842712],
               [2.23606798, 1.41421356, 1.0, 1.41421356, 2.23606789],
               [2.0,        1.0,        0.0, 1.0,        2.0],
               [2.23606789, 1,41421356, 1.0, 1.41421356, 2.23606789],
               [2.82842712, 2.23606789, 2.0, 2.23606798, 2.82842712]])
MATRICE aa:
[[2.82842712, 2.23606798, 2.0, 2.23606798, 2.82842712]
 [2.23606798, 1.41421356, 1.0, 1.41421356, 2.23606789]
 [2.0, 1.0, 0.0, 1.0, 2.0]
 [2.23606789, 1, 41421356, 1.0, 1.41421356, 2.23606789]
 [2.82842712, 2.23606789, 2.0, 2.23606798, 2.82842712]]
Shape: (5,)

有人知道我错在哪里吗?

第四行有六个元素,
[2.23606789,141421356,1.0,1.41421356,2.23606789]
假设是
1.41421356
更改为:

import numpy as np

aa = np.array([[2.82842712, 2.23606798, 2.0, 2.23606798, 2.82842712],
               [2.23606798, 1.41421356, 1.0, 1.41421356, 2.23606789],
               [2.0,        1.0,        0.0, 1.0,        2.0],
               [2.23606789, 1.41421356, 1.0, 1.41421356, 2.23606789],
               [2.82842712, 2.23606789, 2.0, 2.23606798, 2.82842712]])



print(aa.shape)
输出

(5, 5)

正如@FHTMitchell所提到的,numpy only自动转换矩形矩阵。

您可能想解释为什么会出现这种情况——即numpy only自动转换矩形矩阵非常感谢!我完全忽略了它!