Python - 插值问题

时间:2016-07-25 08:48:22

标签: python function pandas interpolation linear-interpolation

我正在创建一个程序,使用最近年龄的插值创建未在给定目录中指定的年龄的星系光谱。

我正在尝试找到一个解决方案,以确保我没有通过在下面的runinterpolation函数中添加另一个if语句进行推断。

限制是[[age1,age2],[age3,age4],...]形式的年龄列表 数据是一个数据帧列表,其中相应的数据将针对每个k的限制进行插值。

对于原始数据中高于/低于给定年龄的年龄,前一个函数返回限制的最低/最高年龄,即[[age1,age1]]

我似乎无法编写if语句,如果age1 = age2,则创建一个包含age1非插值数据的列。

插值函数如下:

# linear interpolation
def interpolation(limits,data,age):
    interp = sc.interp1d(limits,data)
    interped = interp(age)
    return interped     

#runs the interpolation for each age, values returned as columns 
#of new dataframe   
def runinterpolation(limits,data,ages):
    int_data = pd.DataFrame(index=Lambda)
    for x,y,z in zip(limits,data,ages):
        W = interpolation(x,y,z)
        int_data[z] = W
    return int_data

非常感谢任何帮助。

0 个答案:

没有答案