引言
對於特別大的數組分析可以使用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)