- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在考虑位置的情况下一个元素一个元素地比较两个 numpy 数组。例如
[1, 2, 3]==[1, 2, 3] -> True
[1, 2, 3]==[2, 1, 3] -> False
我尝试了以下方法
for index in range(list1.shape[0]):
if list1[index] != list2[index]:
return False
return True
但是我得到了以下错误
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
然而,以下不是 .any 或 .all 的正确用法
numpy.any(numpy.array([1,2,3]), numpy.array([1,2,3]))
numpy.all(numpy.array([1,2,3]), numpy.array([1,2,3]))
当它返回时
TypeError: only length-1 arrays can be converted to Python scalars
我很困惑,谁能解释一下我做错了什么
谢谢
最佳答案
您还可以使用 array_equal
:
In [11]: a = np.array([1, 2, 3])
In [12]: b = np.array([2, 1, 3])
In [13]: np.array_equal(a, a)
Out[13]: True
In [14]: np.array_equal(a, b)
Out[14]: False
这应该更有效,因为您不需要保留临时 a==b
...
注意:关于性能,对于较大的数组,您希望使用 np.all
而不是 all
。 array_equal
执行大致相同的除非数组在早期不同,那么它会更快,因为它可能会在早期失败:
In [21]: a = np.arange(100000)
In [22]: b = np.arange(100000)
In [23]: c = np.arange(1, 100000)
In [24]: %timeit np.array_equal(a, a) # Note: I expected this to check is first, it doesn't
10000 loops, best of 3: 183 µs per loop
In [25]: %timeit np.array_equal(a, b)
10000 loops, best of 3: 189 µs per loop
In [26]: %timeit np.array_equal(a, c)
100000 loops, best of 3: 5.9 µs per loop
In [27]: %timeit np.all(a == b)
10000 loops, best of 3: 184 µs per loop
In [28]: %timeit np.all(a == c)
10000 loops, best of 3: 40.7 µs per loop
In [29]: %timeit all(a == b)
100 loops, best of 3: 3.69 ms per loop
In [30]: %timeit all(a == c) # ahem!
# TypeError: 'bool' object is not iterable
关于python - 如何考虑元素的位置一一比较numpy数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27585119/
我想为我指定的每个类别 ID 检索最新帖子的 mongo 选择器。 这是 forumTopics 集合中对象的示例: { _id: ..., createdTime: [unix ep
我正在尝试一个接一个地运行两个ajax 请求。所以,我可以使用 ajax success() 函数: $.ajax({ ... success: function() {
这是我的 Codepen 链接:resizable event 我正在使用可调整大小的 Jquery UI,一切正常,但现在我希望每个 block 上的可调整大小事件只能一个接一个地激活,如果单击另一
我在 Kotlin 上使用 MongoDB 和 Spring,我希望我的应用程序在启动时填充 MongoDB 集合。 (并在每次启动时清洁它) 我的问题是,如果我正在填充的某些数据有问题,我该如何一一
我有一些元素的列表,我想要一个接一个的 fadeIn 元素,意味着如果第一个元素完成 fadeIn 然后下一个元素 fadeIn 等等,在我给定的代码中我不知道出了什么问题,请帮助我.. HTML A
正如很多地方所说,对于大小为 10000 的输入数据,批量预测整个数据比逐行预测要快得多(在这两种情况下,model.n_jobs=1)。 我知道一对一的解决方案有很多开销。但是在在线服务中,请求是一
我在使用 5 个 div 元素使其响应时遇到了问题。 我有这样的 div 元素: Here Image 1 Here Image 2 Here
我是一名优秀的程序员,十分优秀!