如何链接具有共同x值的两组y值数据

尝试链接具有共同观察号的两组数据。一个数据数组只有另一个数组中观察值的子集,因此第二个数组中的某些数据需要忽略。

尝试了两次for循环,但真的不知道如何正确编程

array1=[[19909,20111,30234],[543,643,743]]
array2=[[23456,98765,19909,[56789,6789,876,542,111]]

预期结果是将array1中的“ y值”链接到array2中的相应“ y值”。例如,对于观测值为19909且y值为543的数组,将以[[543],[876]]生成数组,因为19909与array2中的876 y值具有相同的索引

a2969318 回答:如何链接具有共同x值的两组y值数据

这实际上不是使用数组,而是看起来像dict的情况。所以,

dict1 = {array1[0][i]: array1[1][i] for i in range(len(array1[0]))}
dict2 = {array2[0][i]: array2[1][i] for i in range(len(array2[0]))}

然后,您可以使用dict2.get(19909)

[dict2.get(item) for item in dict1.keys()]

否则,如果您坚持使用数组,那么您将:

array2[1][array2[0].index(19909)]

请记住,将最后一行放在{1}块中,以用于array1中存在但不在array2中的项目。

本文链接:https://www.f2er.com/3137906.html

大家都在问