我想把numpy数组中的第1个元素与另一个numpy数组中的第1个元素相加,并对其他所有元素进行追加。

问题描述 投票:0回答:1

我有三个numpy数组

X = [1,2,3,4,4,5,56,..,n]
Y = [1,2,344,4,4,4,..,n]
Z = [1,2,244,24,445,64,..,n]

我想做这样的输出

final_list = [(X1,Y1,Z1),(X2,Y2,Z2),(X3,Y3,Z3), ... (Xn,Yn,Zn)]

然后检查其中任何一个Z是否为>某个阈值将其与X和Y的对应关系全部弹出。

请问有什么建议吗?np.conctatenate但没有任何好的结果。

非常感谢:)

arrays python-3.x list numpy append
1个回答
0
投票

一个简单的方法与if else可以是。

X = [1,2,3,4,4,5,56]
Y = [1,2,344,4,4,4,89]
Z = [1,2,244,24,445,64,89]
d=[]
for i in range(len(X)):
    if Z[i]>thresh:
        print("print something")
    else:
        d.append([X[i],Y[i],Z[i]])
print(d)

如果你检查如果 z>thresh 在创建列表的时候,就不需要以后再弹出这些项目。


0
投票

一种方法是只用列表理解。

out = [(x,y,z) for x,y,z in zip(X,Y,Z) if z<threshold]

用numpy你可以做这样的事情:

xyz = np.array([X,Y,Z])

under_thresh = xyz[xyz[-1]<threshold]
© www.soinside.com 2019 - 2024. All rights reserved.