【问题标题】:Incorrect shape of 2D numpy array2D numpy 数组的形状不正确
【发布时间】:2018-08-30 12:29:54
【问题描述】:

我想创建 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]])

但是当我检查它的大小是 5x1。

在控制台数组中打印如下:

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,)

有人知道我哪里错了吗?

【问题讨论】:

    标签: python python-3.x numpy numpy-ndarray


    【解决方案1】:

    第 4 行有六个元素,[2.23606789, 1, 41421356, 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 只会自动转换矩形矩阵。

    【讨论】:

    • 您可能想解释为什么会这样——即 numpy 只自动转换矩形矩阵
    • 非常感谢!我完全忽略了它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 2019-09-04
    • 2015-12-05
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多