我想計算一個 numpy 陣列中的間隙數。在這種情況下,連續的零算作一個間隙。
array = np.array([ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692, 1692, 1692, 1692, 1692, 1692, 1692, 2458, 2458, 2458, 2458,
2458, 2458, 2458, 0, 0, 0, 3956, 3956, 3956, 3956, 3956,
3956, 3956, 0, 0, 0, 0, 5431, 5431, 5431, 5431, 5431,
5431, 5431, 0, 0, 0, 0, 0, 0, 0, 0, 0])
在上面的陣列中有 4 個間隙,所以我的輸出應該是 4。
uj5u.com熱心網友回復:
您可以使用布爾陣列并在前一個為 False 時計算為 True 的值:
a = array==0
(a&~np.r_[[False],a[:-1]]).sum()
輸出:4
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/487598.html
下一篇:在Python中生成陣列陣列
