【发布时间】:2018-05-24 20:07:12
【问题描述】:
给定一个 numpy 数组:
x = np.array([False, True, True, False, False, False, False, False, True, False])
如何找到值从 False 变为 True 的次数? 对于上面的例子,答案是 2。我不想在计数中包含从 True 到 False 的转换。
根据How do I identify sequences of values in a boolean array? 的答案,下面会生成值即将更改的索引,这不是我想要的,因为这包括真假转换。
np.argwhere(np.diff(x)).squeeze()
# [0 2 7 8]
我知道这可以通过遍历数组来完成,但是我想知道是否有更快的方法来做到这一点?
【问题讨论】: