【问题标题】:ValueError: operands could not be broadcast together with shapes (2,3) (998,)ValueError: 操作数不能与形状一起广播 (2,3) (998,)
【发布时间】:2018-05-30 15:48:30
【问题描述】:

如何处理?我有两个数组,例如:

a = [ 4.39159442  4.3827848   4.37397518  ......................  4.3211174]

b = [[  3.90220220e+02   4.39159442e+00  -4.00073465e-02]
    [  3.90440440e+02   4.38278480e+00  -4.00073465e-02]]

我需要划分,即 a/b 有人可以解释发生了什么问题吗?我使用相同的数据文件来导入它们。

【问题讨论】:

  • 你希望如何划分不同维度的数组?

标签: python numpy


【解决方案1】:

看这个例子:

import numpy as np

# I took only 12-elements so it would be easier to see
x1 = np.arange(12.0).reshape((6,2))
x2 = np.arange(6.0).reshape((6,1))

print x1
print x2
print x1 / x2

没有错误!

您必须在两个数组中具有相同的第一个维度才能使其工作,因此您需要做的是在除法之前a.reshape((2,998/2))

像这样:

x1 = np.arange(998.0).reshape((2,998/2))
x2 = np.arange(6.0).reshape((2,3))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 2021-09-12
    • 2017-09-09
    • 2012-10-31
    相关资源
    最近更新 更多