【发布时间】:2015-01-03 13:28:14
【问题描述】:
我有一个 numpy.array 不同形状的 numpy 数组。 当我调用 np.sum(my_array) 我得到这个错误:
Traceback (most recent call last):
return umr_sum(a, axis, dtype, out, keepdims)
ValueError: operands could not be broadcast together with shapes (13,5) (5,3)
我想要的是所有数组中所有值的总和,例如 sum(my_array) = some float number
是否有一些我错过的参数或其他方法? 我只能想到这样的事情
np.sum([np.sum(a) for a in my_array])
这是最佳方式吗?
更新:
print(type(my_array))
print((my_array).shape)
print([(type(sub_array), sub_array.shape) for sub_array in my_array])
输出:
<class 'numpy.ndarray'>
(2,)
[(<class 'numpy.ndarray'>, (13, 5)), (<class 'numpy.ndarray'>, (5, 3))]
【问题讨论】:
-
什么是
my_array?它是一个包含 numpy 数组的 python 列表吗? -
@jozzas 也是一个numpy.array
-
这是什么类型的 ndarray,它包含其他不同形状的 ndarray?请为我们打印
type(my_array)的结果。 -
@ballsdotballs 我已经用输出更新了上面的帖子。
-
TIL 你可以拥有 dtype 'object' 的 ndarray,其元素可以是任意形状和类型。
标签: python arrays python-3.x numpy