[英]How to correct numpy array of offsets?
假設我有以下 numpy 數組:
0 50 100 150
每個整數代表一個偏移量,我想更改其中一個值(例如 50 到 60)。 我可以這樣做:
my_array[1] = 60
但是,我希望所有偏移量都相應更新。 (50 之后的每個整數都加了 10,因為我將 50 更改為 10)。 在不使任何事情過於復雜的情況下實現這樣的事情的最簡單方法是什么?
假設你有
delta = 10
index = 1
你可以做
my_array[index:] += delta
或者就offset = 60
而言:
my_array[index:] += (offset - my_array[index])
根據情況,您可能需要更復雜的東西。 例如,如果您有多個要同時處理的增量:
deltas = np.zeros_like(my_array)
deltas[index] = delta
my_array += deltas.cumsum()
或者,對差異進行操作:
d = np.r_[my_array[0], np.diff(my_array)]
d[index] += delta
my_array = d.cumsum()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.