我有一个Numpy数组如下:
a= array([[2, 3],
[0, 2]])
并希望使用np.greater将每行中的“向量”与其他行进行比较,以便:
array([[False, False], <--- [2,3] compared with [2,3]
[True, True]], <--- [2,3] compared with [0,2]
[[False, False], <--- [0,2] compared with [2,3]
[False, False]]) <--- [0,2] compared with [0,2]
但是如果我尝试r=(np.greater.outer(a,a))
它会将a
中的每个数字与a
中的每个其他数字进行比较,因此:
array([[[[False, False], <--- 2 compared with a
[ True, False]],
[[ True, False], <--- 3 compared with a
[ True, True]]],
[[[False, False], <--- 0 compared with a
[False, False]],
[[False, False], <--- 2 compared with a
[ True, False]]]], dtype=bool)
如何使外部比较行明智而不是元素明智?
试试这个:
a[:,np.newaxis] > a
这与更明确的代码相同:
a[:,np.newaxis,:] > a[np.newaxis,:,:]
帽尖https://stackoverflow.com/a/16500609/4323
详细介绍它的功能:Python numpy的使用。新轴
问题内容: 有人遇到过这个问题吗?假设您有两个类似以下的数组 有没有一种方法可以比较b中a中的哪些元素?例如, 我正在尝试避免循环,因为要花费数百万个元素才能解决问题。有任何想法吗? 干杯 问题答案: 实际上,有一个比以下任何一种方法更简单的解决方案: 所得的c为:
问题内容: 我试图通过python摸索,并学习做事的最佳方法。我有一个字符串要与另一个字符串进行比较,看是否有匹配项: 如果’d’是一个数组,那么查看pay [j]中包含的字符串是否与’d’中的任何值匹配的最有效方法是什么? 问题答案: 如果您只想知道中是否包含的 任何 项,就像您直白地说: 如果您还想知道中包含 哪些 项目: 会如果没有的项目一个空的列表中包含的。 如果您想要的是另一种选择,那么
我想将一个阵列与另一个阵列进行比较: 我想检测数组2是否包含数组1中没有的名称。 数组2可以比数组1长或短,换句话说,数组2可能缺少名称或名称比数组1多,但数组2不能具有与数组1不同的名称。 到目前为止,我可以检测出数组2是否比数组1长。如果是,它显然是在添加名称,因此是无效的: 但是如果这不够精确(如果两个数组有相同数量的值,即使单个值不相关,它也返回true)。 请参见以下示例场景: 我假设我
问题内容: 我试图将数组的成员设置为小于nan的阈值。这是QA / QC过程的一部分,传入数据可能已经具有nan插槽。 例如,我的阈值可能是-1000,因此我想在以下数组中将-3000设置为nan 以下内容: 产生正确的行为,但也会产生RuntimeWarning,但会产生禁用警告的开销 有点沉重,可能有点不安全。 尝试使用花式索引进行两次索引如下所示不会产生任何效果: 我认为这是因为复制是由于整
在我的JavaScript小程序中,我必须检查a和b输入值:如果它们是新的一对,则这一对将作为1D向量添加到小程序的历史记录中。 因此,我制作了一个历史2D数组,其中存储了所有新的对。程序循环数组,将新对与历史数组的每一行进行比较。然而,我有一个问题:当比较的结果应该是真的(即,当I==1时),我得到了一个假结果。 我读了这一页:https://www.w3schools.com/js/js_ar