【发布时间】:2014-09-01 07:29:41
【问题描述】:
我有两个 2d numpy 数组,用于绘制模拟结果。
a 和b 两个数组的第一列包含时间间隔,第二列包含要绘制的数据。这两个数组有不同的形状a(500,2)b(600,2)。我想按第一列比较这两个 numpy 数组,并创建第三个数组,在a 的第一列中找到匹配项。如果未找到匹配项,则将 0 添加到第三列。
有什么 numpy 技巧可以做到这一点吗?
例如:
a=[[0.002,0.998],
[0.004,0.997],
[0.006,0.996],
[0.008,0.995],
[0.010,0.993]]
b= [[0.002,0.666],
[0.004,0.665],
[0.0041,0.664],
[0.0042,0.664],
[0.0043,0.664],
[0.0044,0.663],
[0.0045,0.663],
[0.0005,0.663],
[0.006,0.663],
[0.0061,0.662],
[0.008,0.661]]
预期输出
c= [[0.002,0.998,0.666],
[0.004,0.997,0.665],
[0.006,0.996,0.663],
[0.008,0.995,0.661],
[0.010,0.993, 0 ]]
【问题讨论】:
-
你能把
a和b放在不同的行上,以便于将数据复制到IPython中吗? -
我已将 'a' 和 'b' 编辑为两个不同的行
-
a有 6e-3,b有 6e-4,而c又有 6e-3,在它们的第一列中。这是数据输入错误吗? -
c 是预期输出,a 和 b 是两个输入,a 和 b 的第一列是时间间隔,如 [0.002, 0.004],第三个数组 c 必须包含匹配的时间间隔 a 和b 他们的数据在第二列
-
a[2,0]约为 6*10**-3。但是b[9,0]是 6*10**-4。因数 10 不同。我认为您的数据输入有误。