【问题标题】:How do I link two sets of y value data that have common x values如何链接具有共同 x 值的两组 y 值数据
【发布时间】:2019-11-08 12:36:04
【问题描述】:

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

尝试了双循环,但不知道如何正确编程

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

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

【问题讨论】:

  • 这些是列表,而不是数组

标签: python arrays csv


【解决方案1】:

这不是使用数组,而是看起来像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)]

请记住,将最后一行放在 try except ValueError 块中,用于数组 1 中存在但数组 2 中不存在的项目。

【讨论】:

  • 这些是列表,而不是数组
  • 列表...是的。 Python 列表。
猜你喜欢
  • 1970-01-01
  • 2016-08-02
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 2020-03-08
  • 1970-01-01
  • 2021-12-07
  • 2023-03-04
相关资源
最近更新 更多