计算Numpy数组每行中的转换数

xxslljrj  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(101)

我有一个二维布尔数组
a=np.array([[True, False, True, False, True],[True , True, True , True, True], [True , True ,False, False ,False], [False, True , True, False, False], [True , True ,False, True, False]])
我想创建一个新数组,在该数组的每一行中提供True-False转换的计数。
期望的结果是COUNT=[2,0,1,1,2]
我使用一个很大的Numty数组进行操作,所以我不会应用Cycle来浏览所有行。
我试图将可用的解决方案应用到二维数组中,对每一行分别进行计数,但没有成功。

qij5mzcb

qij5mzcb1#

以下是一个可能的解决方案:

b = a.astype(int)
c = (b[:, :-1] - b[:, 1:])
count = (c == 1).sum(axis=1)

结果:

>>> count
array([2, 0, 1, 1, 2])

相关问题