【问题标题】:Shape Mismatch Numpy形状不匹配 Numpy
【发布时间】:2016-05-13 02:36:04
【问题描述】:

我不断收到错误:

"(形状 (10, 1), (10,) 不匹配)"

在进行 NumPy 操作时,我有些困惑。

(10,1) 和 (10,) 不是相同的形状吗?如果由于某种原因这无效,有没有办法将 (10,1) 转换为 (10,)?我似乎在 NumPy 文档中找不到它。

谢谢

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    (10,1)(10,) 之间的区别在于向量的尺寸。第一个((10,1))是一个二维数组,而后者((10,))是一维的:

    >>> import numpy as np
    >>> x = np.zeros((10,1))
    >>> x
    array([[ 0.],
           [ 0.],
           [ 0.],
           [ 0.],
           [ 0.],
           [ 0.],
           [ 0.],
           [ 0.],
           [ 0.],
           [ 0.]])
    >>> x.shape = (10,)
    >>> x
    array([ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.])
    

    只要元素总数保持不变,您就可以通过numpy.ndarray.shape重新调整数组的形状

    【讨论】:

      【解决方案2】:

      numpy 中,(10, 1), (10,) 完全一样:

      • (10, 1) 是一个二维数组,只有一列。

      • (10, ) 是一个一维数组

      如果你有一个数组a,并打印出 len(a.shape),你会看到不同。

      【讨论】:

        猜你喜欢
        • 2016-12-19
        • 1970-01-01
        • 1970-01-01
        • 2019-05-25
        • 2019-10-20
        • 2021-07-14
        • 1970-01-01
        • 2019-06-10
        • 2019-03-05
        相关资源
        最近更新 更多