Numpy一維線性插值函數(shù)的用法
直接列出函數(shù):
numpy.interp(x, xp, fp, left=None, right=None, period=None)
x - 表示將要計(jì)算的插值點(diǎn)x坐標(biāo)
xp - 表示已有的xp數(shù)組
fp - 表示對(duì)應(yīng)于已有的xp數(shù)組的值
left - 表示當(dāng)x值在xp中最小值左邊時(shí),x對(duì)應(yīng)y的值為left
right - 表示當(dāng)x值在xp中最大值右邊時(shí),x對(duì)應(yīng)y的值為right
(left和right表示x在xp的域外時(shí),y的取值)
example:
1.
import numpy as np xp = [1, 2, 3] fp = [3, 2, 0] print(np.interp(2.5, xp, fp))
output:1.0
2.
import numpy as np xp = [1, 2, 3] fp = [3, 2, 0] x = [0, 1, 1.5, 2.72, 3.14] print(np.interp(x, xp, fp))
output:[3. 3. 2.5 0.56 0. ]
3.
import numpy as np xp = [1, 2, 3] fp = [3, 2, 0] x = [0, 1, 1.5, 2.72, 3.14] print(np.interp(x, xp, fp, -99, 99))
output:[-99. 3. 2.5 0.56 99. ]
補(bǔ)充知識(shí):numpy 的一維插值函數(shù)interp
numpy.interp(x, xp, fp, left=None, right=None, period=None)
返回離散數(shù)據(jù)的一維分段線性插值結(jié)果,浮點(diǎn)數(shù)或復(fù)數(shù)(對(duì)應(yīng)于fp值)或ndarray. 插入數(shù)據(jù)的縱坐標(biāo),和x形狀相同。
x: 數(shù)組,待插入數(shù)據(jù)的橫坐標(biāo).
xp: 一維浮點(diǎn)數(shù)序列,原始數(shù)據(jù)點(diǎn)的橫坐標(biāo),如果period參數(shù)沒有指定那么就必須是遞增的。否則,在使用xp = xp % period正則化之后,xp在內(nèi)部進(jìn)行排序.
fp: 一維浮點(diǎn)數(shù)或復(fù)數(shù)序列原始數(shù)據(jù)點(diǎn)的縱坐標(biāo),和xp序列等長.
left: 可選參數(shù),類型為浮點(diǎn)數(shù)或復(fù)數(shù)(對(duì)應(yīng)于fp值),當(dāng)x < xp[0]時(shí)的插值返回值,默認(rèn)為fp[0].
right: 可選參數(shù),類型為浮點(diǎn)數(shù)或復(fù)數(shù)(對(duì)應(yīng)于fp值),當(dāng)x > xp[-1]時(shí)的插值返回值,默認(rèn)為fp[-1].
period: None或者浮點(diǎn)數(shù),可選參數(shù). 橫坐標(biāo)的周期. 此參數(shù)使得可以正確插入angular x-coordinates. 如果該參數(shù)被設(shè)定,那么忽略left參數(shù)和right參數(shù)。
插入橫坐標(biāo)在原函數(shù)橫坐標(biāo)范圍內(nèi)
x = 2.5 # 要插入值的橫坐標(biāo) xp = [1, 2, 3] # 要插入序列的橫坐標(biāo) fp = [3, 2, 0] # 要插入序列的縱坐標(biāo) y = np.interp(x, xp, fp) # 返回插入值的縱坐標(biāo) 1.0 plt.plot(xp, fp, '-o') plt.plot(x, y, 'x') plt.show()
插入橫坐標(biāo)在原函數(shù)橫坐標(biāo)外(默認(rèn))
x = [0, 1, 1.5, 2.72, 3.14] # 左側(cè)外部默認(rèn)為原函數(shù)最左側(cè)函數(shù)值,右側(cè)默認(rèn)為右側(cè) xp = [1, 2, 3] fp = [3, 2, 0] y = np.interp(x, xp, fp) # array([ 3. ,3. ,2.5 ,0.56, 0. ]) plt.plot(xp, fp, '-o') plt.plot(x, y, 'x') plt.show()
插入橫坐標(biāo)在原函數(shù)橫坐標(biāo)外(指定)
x = 3.14 xp = [1, 2, 3] fp = [3, 2, 0] UNDEF = -99.0 y = np.interp(x, xp, fp, right=UNDEF) # -99.0 plt.plot(xp, fp, '-o') plt.plot(x, y, 'x') plt.show()
正弦插值
x = np.linspace(0, 2 * np.pi, 10) # 在0到2pi的范圍內(nèi)均勻取10個(gè)點(diǎn) y = np.sin(x) # sin函數(shù)x橫坐標(biāo)對(duì)應(yīng)的y值 xvals = np.linspace(0, 2 * np.pi, 50) # 均勻取50個(gè) yinterp = np.interp(xvals, x, y) # 在映射關(guān)系為y的x中插入xvals plt.plot(x, y, 'o') plt.plot(xvals, yinterp, '-x') plt.show()
以上這篇Numpy一維線性插值函數(shù)的用法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Tensorflow獲取張量Tensor的具體維數(shù)實(shí)例
今天小編就為大家分享一篇Tensorflow獲取張量Tensor的具體維數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python+Opencv實(shí)現(xiàn)圖像匹配功能(模板匹配)
這篇文章主要為大家詳細(xì)介紹了Python+Opencv實(shí)現(xiàn)圖像匹配功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
python 通過pip freeze、dowload打離線包及自動(dòng)安裝的過程詳解(適用于保密的離線環(huán)境
這篇文章主要介紹了python 通過pip freeze、dowload打離線包及自動(dòng)安裝【適用于保密的離線環(huán)境】,本文通圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Python使用QQ郵箱發(fā)送Email的方法實(shí)例
實(shí)際開發(fā)過程中使用到郵箱的概率很高,那么如何借助python使用qq郵箱發(fā)送郵件呢?正好最近工作遇到這個(gè)需求,所以想著把方法分享出來方便大家,所以這篇文章主要介紹了Python使用QQ郵箱發(fā)送Email的實(shí)現(xiàn)方法,需要的朋友可以參考。2017-02-02
python中將正則過濾的內(nèi)容輸出寫入到文件中的實(shí)例
今天小編就為大家分享一篇python中將正則過濾的內(nèi)容輸出寫入到文件中的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10
LyScript實(shí)現(xiàn)計(jì)算片段Hash并寫出Excel的示例代碼
本案例將學(xué)習(xí)運(yùn)用LyScript計(jì)算特定程序中特定某些片段的Hash特征值,并通過xlsxwriter這個(gè)第三方模塊將計(jì)算到的hash值存儲(chǔ)成一個(gè)excel表格,感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-09-09

