引言
对于特别大的数组分析可以使用nparray,避免大量重复的循环,在使用中当遇到需要统计数组中连续相同值的个数从而进行压缩时可以通过where和diff实现
实例
错位比较ar数组,比较ar[:1]和数组ar[1:],突变的时候会产生一个true,然后npwhere记录true的索引,np.diff相邻相减得到连续相同值的个数
1 ar =[3,2,2,1,1,2,2,3,3,1] 2 same_ar = np.concatenate(([True], ar[:-1] != ar[1:], [True])) 3 index_ar = np.where(same_ar)[0] 4 count_ar = np.diff(index_arr)