我有一個 2000 個元素的 numpy 陣列,我想找出其中元素減去下一個元素除以自身大于 x 的索引。
就像是:
a[abs(a[i] - a[i 1])/a[i 1] > x]
我正在尋找一種通過廣播而不是 for 回圈來做到這一點的方法。
uj5u.com熱心網友回復:
您可以使用切片。從包含除最后一個值之外的所有值的陣列開始(因為最后一個值沒有可與之比較的下一個值),并使用布爾運算式對其進行索引:相同的陣列,減去從索引 1 開始的移位陣列,然后除以移位陣列。這些操作都將在 NumPy 中逐元素發生。比較x給出可用作過濾器的布爾陣列:
a[:-1][np.abs(a[:-1] - a[1:]) / a[1:] > x]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/471422.html
標籤:python-3.x 麻木的 阵列广播
