Python_插值函数调用

本文介绍了如何利用scipy库进行一维线性插值和二维插值。示例中展示了如何创建一维插值函数并应用到数据上,以及如何进行二维插值并转换为DataFrame格式,以便于数据处理和作图,实现更平滑的图像效果。
摘要由CSDN通过智能技术生成

主要是记录一下,下次方便查找,原理什么的,就不赘述了。

简单的说,插值的方法有很多,基本上这个scipy库是可以满足要求的,大家可以自己去找找对于的帮助文档分析一下。这篇文章就记录两个例子,便于分析。

如果是进行一维线性插值:

f = si.interp1d(subdata['tlist'],subdata['effi'],kind='linear')

前两个参数是输入的x,y,kind是插值类型,这里选择linear。插值的结果保存在f里面,通过输入对应的x值,可以把y值给读出来:

e_map[i,j] = f(ts[j])

接着,是二维插值(这个方法更多),举例代码如下:

from scipy import interpolate 
x_new=np.linspace(0,max(nlist),300)
y_new=np.linspace(min(tlist),max(tlist),300)
x_new,y_new=np.meshgrid(x_new,y_new)
new_data = interpolate.griddata((test['N'],test['T']),test['E'],(x_new,y_new),method='linear')
new_map_data = pd.DataFrame(new_data)
new_map_data.reindex(index =list(x_new),columns =list(y_new))

这个不光需要输入对应的xyz值,还顺便把输出后的对应的x,y的值给固定了(x_new,y_new),最后转换得到的是一个dataframe形式的变量,之后的操作对这个变量处理就ok。

插值的目的?作图更加平滑呀。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值