[英]How to handle different indices with two different arrays
我有兩個 arrays y=[0,1,1], x=[0,0,4,10,5]
和一個索引數組,其中包含來自 x I_x=[2,3,4]
的非零條目的索引I_x=[2,3,4]
。
理想情況下,我想要y[2]=0, y[3]=1, y[4]=1
對於一般情況,有什么辦法可以做到這一點。
我很樂意回答更多問題,因為我認為這個問題問得不夠好。
編輯:
def function(x,y):
solution = 0
for i in I:
solution = x[i] + y[i]
return solution
這是我想做的一個例子,問題是i
來自我,所以 y 會越界,我想知道有什么辦法可以解決這個問題。
您的問題仍然有點不清楚,但我認為您正在嘗試生成一個數組,其中包含x
中的非零元素與y
中的元素在這些位置的總和,並且您正在嘗試調整它,以便I x不會超出y
的范圍。 下面的腳本就是這樣做的:
import numpy as np
def uneven_add(a, b):
return a[np.nonzero(a)] + np.hstack((b, np.zeros((a.size - b.size))))[np.nonzero(a)]
if __name__ == '__main__':
x = np.array([0,0,4,10,5])
y = np.array([0,1,1])
print(uneven_add(x,y))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.