【发布时间】:2015-01-10 20:51:01
【问题描述】:
我有两个 numpy 数组,其中包含带有重载比较运算符的对象,该运算符返回另一个对象,而不是 True 或 False。如何创建包含单个比较结果的数组。我希望结果是一个对象数组,如下所示
lhs = ... # np.array of objects with __le__ overloaded
rhs = ... # another np.array
result = np.array([l <= r for l, r in izip(lhs, rhs)])
但是lhs <= rhs 给了我一个布尔数组。
有没有办法让result 成为__le__ 方法调用结果的数组,而无需编写python 循环?
【问题讨论】:
-
documentation for
np.less_equal(和其他比较函数)表示它返回比较的“真值”,因此如果不手动迭代数组可能无法做到这一点.
标签: python numpy operator-overloading