工作中需要查一张表格,不在表格上的值需要根据表格算插值之后得出,所以写了这个函数
csv形式大致如下
,1,2,3
1,z1,z2,z3
2,z4,z5,z6
3,z7,z8,z9
其中,第一行为x轴,第一列为y轴
要求,输入两个轴上的值后,找到合适的4个值进行双线性插值的运算
双线性插值的理论参考:https://blog.csdn.net/wudi_X/article/details/79782832
import pandas as pd
import numpy as np
#从csv文件里输入合适的参数用于查表
df_data= pd.read_csv(文件路径,header= None,sep=',',dtype='float')
x = np.array(df_data.iloc[0,:]) #首行存于x
y = np.array(df_data.iloc[:,0]) #首列存于y
z = np.array(df_data.iloc[:,:]) #其他值存于z
inputx = float(input('x='))
inputy = float(input('y='))
#双线性插值函数
def double_linear_interpolation (x,y,z):
i , j = 1, 1
while inputy > y[j]:
j += 1
while inputx > x[i]:
i