【发布时间】:2017-10-06 10:04:26
【问题描述】:
我想组合两个数组,它们代表一条曲线,其中变量是第 1 列,但是第 0 列的值并不总是匹配:
import numpy as np
arr1= np.array([(12,1003),(17,900),(20,810)])
arr2= np.array([(10,1020),(17,902),(19,870),(21,750)])
我想将它们组合成一个数组,其中第 0 列被组合,并且两个第 1 列都堆叠有间隙,对应的第 0 列值没有值,如下所示:
arr3=np.array([((10,None,1020),(12,1003,None),(17,900,902),(19,None,870),(20,810,None),(21,None,750))])
这样做的原因是我希望能够获取每个数组的第二列的平均值,但它们的第 0 列值并不完全相同,因此创建此数组的想法是然后进行插值以替换所有None 值,然后从第 1 列和第 2 列创建平均值,并有一个额外的列来表示。
到目前为止,我已经将 numPy 用于其他所有内容,但显然已经被 np.column_stack 函数卡住了,因为它需要相同长度的列表,并且对基于 o 列的值的堆叠视而不见。最后,我不想为数据创建拟合,因为实际数据是非线性的并且可能不一致,因此拟合不起作用,插值似乎是最准确的方法。
可能已经有了答案,但由于我不知道如何描述它,我找不到它。另外我对 python 比较陌生,所以请不要对我的知识做出任何假设,除非它很少。
谢谢。
【问题讨论】:
标签: python arrays multiple-columns interpolation