栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python-大型数组的插值2D数组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-大型数组的插值2D数组

您可以使用

scipy.interpolate.interp2d
和进行此操作
numpy.meshgrid

您需要确保新的X和Y范围与旧的范围相同,并且步长较小。这很容易

np.linspace

import numpy as npfrom scipy import interpolatemymin,mymax = 0,3X = np.linspace(mymin,mymax,4)Y = np.linspace(mymin,mymax,4)x,y = np.meshgrid(X,Y)test = np.array([[ 1.2514318 ,  1.25145821,  1.25148472,  1.25151133],       [ 1.25087456,  1.25090105,  1.25092764,  1.25095435],       [ 1.25031581,  1.25034238,  1.25036907,  1.25039586],       [ 1.24975557,  1.24978222,  1.24980898,  1.24983587]])f = interpolate.interp2d(x,y,test,kind='cubic')# use linspace so your new range also goes from 0 to 3, with 8 intervalsXnew = np.linspace(mymin,mymax,8)Ynew = np.linspace(mymin,mymax,8)test8x8 = f(Xnew,Ynew)print test8x8>>> [[ 1.2514318   1.25144311  1.25145443  1.25146577  1.25147714  1.25148852  1.25149991  1.25151133]     [ 1.25119317  1.25120449  1.25121583  1.25122719  1.25123856  1.25124995  1.25126137  1.25127281]     [ 1.25095426  1.2509656   1.25097695  1.25098832  1.25099971  1.25101112  1.25102255  1.25103401]     [ 1.25071507  1.25072642  1.25073779  1.25074918  1.25076059  1.25077201  1.25078346  1.25079494]     [ 1.25047561  1.25048697  1.25049835  1.25050976  1.25052119  1.25053263  1.2505441   1.25055558]     [ 1.25023587  1.25024724  1.25025864  1.25027007  1.25028151  1.25029297  1.25030446  1.25031595]     [ 1.24999585  1.25000724  1.25001866  1.2500301   1.25004156  1.25005304  1.25006453  1.25007605]     [ 1.24975557  1.24976698  1.24977841  1.24978985  1.24980132  1.24981281  1.24982433  1.24983587]]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号