給定遞增串列,我的目的是將序列的磁區回傳為由序列號形成的子序列。我想用 NumPy 來做。現在,我希望每次減去串列相關部分中第一個元素的值,并詢問索引中的值等于它的索引的索引——也許我應該修改它,但在這種情況下由序列號組成的串列,我們可以看到減去第一個值只給出索引串列。
uj5u.com熱心網友回復:
讓我們假設你的 numpy 標簽不是虛假的,你有
a = np.array([10, 11, 12, 23, 30, 31, 32, 204])
如果你申請np.diff,你會看到
d = np.diff(a) # 1, 1, 11, 7, 1, 1, 172
顯然,在任何d不是 的地方 /-1,您都可以添加一個分割點。使用np.flatnonzero,您可以獲得與 兼容的索引np.split:
i = np.flatnonzero(np.abs(d) != 1) 1 # 3, 4, 7
的 1,因為有必要d是一種元素比短a,是與一個卷積[-1, 1]。
result = np.split(a, i) # [10, 11, 12], [23], [30, 31, 32], [204]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/384717.html
上一篇:給定兩個二維numpy陣列A和B,如何有效地應用一個函式,該函式將兩個一維陣列應用于A和B行的每個組合?
下一篇:從大型numpy陣列中快速選擇點
