我在网上的一些例子中看到了这段代码,正在尝试理解和修改它:c = a[b == 1]为什么这样做?b == 1对于b满足等式的每个元素,它似乎返回 true 。我不明白这样的事情如何a[True]最终评估为“对于 a 中相同索引值b等于 1 的所有值,将它们复制到c”a, b, 和c都是包含一些数据的相同长度的 NumPy 数组。我已经搜索了很多,但甚至不知道如何称呼这种东西。如果我想添加第二个条件,例如:c = a[b == 1 and d == 1]我得到ValueError:包含多个元素的数组的真值不明确。使用 a.any() 或 a.all()我知道发生这种情况是因为由于此处解释的原因,相等运算的组合不明确,但我不确定如何仅在一行中添加a.any()或添加a.all()到该表达式中。编辑:对于问题 2,c = a[(b == 1) & (d == 1)]有效。关于我的第一个问题关于如何/为什么工作的任何意见?
添加回答
举报
0/150
提交
取消