我想检查numpy数组/矩阵的列中的所有值是否相同.我试图用reduce的的ufunc equal,但它似乎并没有在所有情况下的工作:
In [55]: a = np.array([[1,1,0],[1,-1,0],[1,0,0],[1,1,0]])
In [56]: a
Out[56]:
array([[ 1, 1, 0],
[ 1, -1, 0],
[ 1, 0, 0],
[ 1, 1, 0]])
In [57]: np.equal.reduce(a)
Out[57]: array([ True, False, True], dtype=bool)
In [58]: a = np.array([[1,1,0],[1,0,0],[1,0,0],[1,1,0]])
In [59]: a
Out[59]:
array([[1, 1, 0],
[1, 0, 0],
[1, 0, 0],
[1, 1, 0]])
In [60]: np.equal.reduce(a)
Out[60]: array([ True, True, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
为什么第二种情况下的中间列也要评估True,而它应该是False?
谢谢你的帮助!
对于给定的系列,例如
s = pd.Series([0,0,0])
Run Code Online (Sandbox Code Playgroud)
我想检查该系列中的所有元素是否等于特定值(在本例中我们可以使用 0),如果是这种情况,则返回 TRUE,否则返回 FALSE。
有没有一种方便的方法可以在 Pandas/numpy 中完成这些操作?