簡體   English   中英

如何使用兩個不同的 arrays 處理不同的索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM