Python ValueError:操作数无法与形状一起广播

Python ValueError:操作数无法与形状一起广播,python,numpy,Python,Numpy,我有一个形状为(6,2)的Numpy数组 我想使用 np.power(a,[-6,-8])但这会引发ValueError:操作数无法与形状一起广播。我该怎么做?谢谢 您是否正在尝试获取以下信息: >>> a = np.array([[1, 2, 3, 3, 2, 1], [4, 5, 6, 7, 8, 9]], dtype=float) >>> np.array([np.power(a, -6), np.power(a, -8)]) array([[[ 1.

我有一个形状为(6,2)的Numpy数组

我想使用
np.power(a,[-6,-8])
但这会引发
ValueError:操作数无法与形状一起广播
。我该怎么做?谢谢

您是否正在尝试获取以下信息:

>>> a = np.array([[1, 2, 3, 3, 2, 1], [4, 5, 6, 7, 8, 9]], dtype=float)
>>> np.array([np.power(a, -6), np.power(a, -8)])
array([[[  1.00000000e+00,   1.56250000e-02,   1.37174211e-03,
           1.37174211e-03,   1.56250000e-02,   1.00000000e+00],
        [  2.44140625e-04,   6.40000000e-05,   2.14334705e-05,
           8.49985975e-06,   3.81469727e-06,   1.88167642e-06]],
       [[  1.00000000e+00,   3.90625000e-03,   1.52415790e-04,
           1.52415790e-04,   3.90625000e-03,   1.00000000e+00],
        [  1.52587891e-05,   2.56000000e-06,   5.95374181e-07,
           1.73466526e-07,   5.96046448e-08,   2.32305731e-08]]])
电源不是那样工作的。根据内置文档,您可以

  • 将整个阵列提升到一个幂次方,如
    np.power(a,3)
    ,或
  • 按不同的幂次提升一个数组,如
    np.幂次(a,b)
    ,其中
    b
    是与
    a
    形状相同的数组,或
  • 将一个数组提升到多个幂次,如
    np.power(a,b)
    ,其中b“至少”具有a的形状,额外的维度包含不同的幂次(无论如何,据我所知)。因此,对于您的情况,以下内容也会产生相同的结果:

    >>> b = np.array([-6 * np.ones(a.shape), -8 * np.ones(a.shape)])
    >>> b
    array([[[-6., -6., -6., -6., -6., -6.],
            [-6., -6., -6., -6., -6., -6.]],    
           [[-8., -8., -8., -8., -8., -8.],
            [-8., -8., -8., -8., -8., -8.]]])
    >>> np.power(a, b)
    

  • 您是否正在尝试获取以下信息:

    >>> a = np.array([[1, 2, 3, 3, 2, 1], [4, 5, 6, 7, 8, 9]], dtype=float)
    >>> np.array([np.power(a, -6), np.power(a, -8)])
    array([[[  1.00000000e+00,   1.56250000e-02,   1.37174211e-03,
               1.37174211e-03,   1.56250000e-02,   1.00000000e+00],
            [  2.44140625e-04,   6.40000000e-05,   2.14334705e-05,
               8.49985975e-06,   3.81469727e-06,   1.88167642e-06]],
           [[  1.00000000e+00,   3.90625000e-03,   1.52415790e-04,
               1.52415790e-04,   3.90625000e-03,   1.00000000e+00],
            [  1.52587891e-05,   2.56000000e-06,   5.95374181e-07,
               1.73466526e-07,   5.96046448e-08,   2.32305731e-08]]])
    
    电源不是那样工作的。根据内置文档,您可以

  • 将整个阵列提升到一个幂次方,如
    np.power(a,3)
    ,或
  • 按不同的幂次提升一个数组,如
    np.幂次(a,b)
    ,其中
    b
    是与
    a
    形状相同的数组,或
  • 将一个数组提升到多个幂次,如
    np.power(a,b)
    ,其中b“至少”具有a的形状,额外的维度包含不同的幂次(无论如何,据我所知)。因此,对于您的情况,以下内容也会产生相同的结果:

    >>> b = np.array([-6 * np.ones(a.shape), -8 * np.ones(a.shape)])
    >>> b
    array([[[-6., -6., -6., -6., -6., -6.],
            [-6., -6., -6., -6., -6., -6.]],    
           [[-8., -8., -8., -8., -8., -8.],
            [-8., -8., -8., -8., -8., -8.]]])
    >>> np.power(a, b)
    

  • 您是否正在尝试获取以下信息:

    >>> a = np.array([[1, 2, 3, 3, 2, 1], [4, 5, 6, 7, 8, 9]], dtype=float)
    >>> np.array([np.power(a, -6), np.power(a, -8)])
    array([[[  1.00000000e+00,   1.56250000e-02,   1.37174211e-03,
               1.37174211e-03,   1.56250000e-02,   1.00000000e+00],
            [  2.44140625e-04,   6.40000000e-05,   2.14334705e-05,
               8.49985975e-06,   3.81469727e-06,   1.88167642e-06]],
           [[  1.00000000e+00,   3.90625000e-03,   1.52415790e-04,
               1.52415790e-04,   3.90625000e-03,   1.00000000e+00],
            [  1.52587891e-05,   2.56000000e-06,   5.95374181e-07,
               1.73466526e-07,   5.96046448e-08,   2.32305731e-08]]])
    
    电源不是那样工作的。根据内置文档,您可以

  • 将整个阵列提升到一个幂次方,如
    np.power(a,3)
    ,或
  • 按不同的幂次提升一个数组,如
    np.幂次(a,b)
    ,其中
    b
    是与
    a
    形状相同的数组,或
  • 将一个数组提升到多个幂次,如
    np.power(a,b)
    ,其中b“至少”具有a的形状,额外的维度包含不同的幂次(无论如何,据我所知)。因此,对于您的情况,以下内容也会产生相同的结果:

    >>> b = np.array([-6 * np.ones(a.shape), -8 * np.ones(a.shape)])
    >>> b
    array([[[-6., -6., -6., -6., -6., -6.],
            [-6., -6., -6., -6., -6., -6.]],    
           [[-8., -8., -8., -8., -8., -8.],
            [-8., -8., -8., -8., -8., -8.]]])
    >>> np.power(a, b)
    

  • 您是否正在尝试获取以下信息:

    >>> a = np.array([[1, 2, 3, 3, 2, 1], [4, 5, 6, 7, 8, 9]], dtype=float)
    >>> np.array([np.power(a, -6), np.power(a, -8)])
    array([[[  1.00000000e+00,   1.56250000e-02,   1.37174211e-03,
               1.37174211e-03,   1.56250000e-02,   1.00000000e+00],
            [  2.44140625e-04,   6.40000000e-05,   2.14334705e-05,
               8.49985975e-06,   3.81469727e-06,   1.88167642e-06]],
           [[  1.00000000e+00,   3.90625000e-03,   1.52415790e-04,
               1.52415790e-04,   3.90625000e-03,   1.00000000e+00],
            [  1.52587891e-05,   2.56000000e-06,   5.95374181e-07,
               1.73466526e-07,   5.96046448e-08,   2.32305731e-08]]])
    
    电源不是那样工作的。根据内置文档,您可以

  • 将整个阵列提升到一个幂次方,如
    np.power(a,3)
    ,或
  • 按不同的幂次提升一个数组,如
    np.幂次(a,b)
    ,其中
    b
    是与
    a
    形状相同的数组,或
  • 将一个数组提升到多个幂次,如
    np.power(a,b)
    ,其中b“至少”具有a的形状,额外的维度包含不同的幂次(无论如何,据我所知)。因此,对于您的情况,以下内容也会产生相同的结果:

    >>> b = np.array([-6 * np.ones(a.shape), -8 * np.ones(a.shape)])
    >>> b
    array([[[-6., -6., -6., -6., -6., -6.],
            [-6., -6., -6., -6., -6., -6.]],    
           [[-8., -8., -8., -8., -8., -8.],
            [-8., -8., -8., -8., -8., -8.]]])
    >>> np.power(a, b)
    

  • 是的,伙计。谢谢!是的,伙计。谢谢!是的,伙计。谢谢!是的,伙计。谢谢!