如何在Python中检测数组中的值是否在特定范围内并返回二进制数组?
所以我试图检测数组中的值是否在某个范围内,然后返回一个二进制逻辑数组,即 1 表示 true,0 表示 false。我有这个,但 iPython 一直抱怨
D = ( 1 < X[0,:] + X[1,:]) < 2 ).astype(int)
有趣的是,只检查一种方法完全没问题
D = ( X[0,:] + X[1,:]) < 2 ).astype(int)
,我觉得有点令人困惑。
So I am trying to detect if the values in an array is in a certain range and then return a binary logical array i.e. one for true and zero for false. I have this but iPython keeps complaining
D = ( 1 < X[0,:] + X[1,:]) < 2 ).astype(int)
the interesting thing is that just checking one way works totally ok
D = ( X[0,:] + X[1,:]) < 2 ).astype(int)
which I find a bit perplexing.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
之后的 bit_array 是 [0, 1, 1, 1, 0]。这就是你想要的吗?
bit_array is [0, 1, 1, 1, 0] after that. Is that what you wanted?
unutbu 更短,这更明确
unutbu's is shorter, this is more explicit
这?
This?
尝试使用
all
(编辑为返回int
):Try using
all
(edited to returnint
):