Python numpy.interp的實(shí)例詳解
本文章向大家介紹Python numpy.interp實(shí)例講解,主要分析其語法、參數(shù)、返回值和注意事項(xiàng),并結(jié)合實(shí)例形式分析了其使用技巧,希望通過本文能幫助到大家理解應(yīng)用這部分內(nèi)容。
用法:
numpy.interp(x, xp, fp, left=None, right=None, period=None)
單調(diào)增加樣本點(diǎn)的一維線性插值。
將一維分段線性插值返回給具有給定離散數(shù)據(jù)點(diǎn)的函數(shù) (經(jīng)驗(yàn),fp),評估為x.
參數(shù):
返回:
拋出:
x: array_like
計(jì)算插值的 x 坐標(biāo)。
xp: 一維浮點(diǎn)序列
數(shù)據(jù)點(diǎn)的 x 坐標(biāo),如果參數(shù)必須增加時期未指定。否則,經(jīng)驗(yàn)在用標(biāo)準(zhǔn)化周期性邊界后進(jìn)行內(nèi)部排序xp = xp % period
.
fp: 浮點(diǎn)數(shù)或復(fù)數(shù)的一維序列
數(shù)據(jù)點(diǎn)的 y 坐標(biāo),長度與 xp 相同。
left: 對應(yīng)于 fp 的可選浮點(diǎn)數(shù)或復(fù)數(shù)
x < xp[0] 的返回值,默認(rèn)為 fp[0]。
right: 對應(yīng)于 fp 的可選浮點(diǎn)數(shù)或復(fù)數(shù)
x > xp[-1] 的返回值,默認(rèn)為 fp[-1]。
period: 無或浮點(diǎn)數(shù),可選
x 坐標(biāo)的句點(diǎn)。此參數(shù)允許正確插值角度 x 坐標(biāo)。如果指定了 period,則忽略參數(shù) left 和 right。
y: float 或 complex(對應(yīng)于 fp)或 ndarray
插值,與 x 的形狀相同。
ValueError
如果 xp 和 fp 的長度不同 如果 xp 或 fp 不是一維序列 如果 period == 0
警告
x 坐標(biāo)序列預(yù)計(jì)會增加,但這沒有明確強(qiáng)制執(zhí)行。但是,如果序列 xp 不增加,則插值結(jié)果是沒有意義的。
請注意,由于 NaN 是不可排序的,經(jīng)驗(yàn)也不能包含 NaN。
xp 嚴(yán)格增加的簡單檢查是:
np.all(np.diff(xp) > 0)
例子:
>>> xp = [1, 2, 3] >>> fp = [3, 2, 0] >>> np.interp(2.5, xp, fp) 1.0 >>> np.interp([0, 1, 1.5, 2.72, 3.14], xp, fp) array([3. , 3. , 2.5 , 0.56, 0. ]) >>> UNDEF = -99.0 >>> np.interp(3.14, xp, fp, right=UNDEF) -99.0
繪制正弦函數(shù)的插值:
import numpy as np x = np.linspace(0, 2*np.pi, 10) y = np.sin(x) xvals = np.linspace(0, 2*np.pi, 50) # 增加 范圍外的x 值 xvals=np.append(xvals,(6.5,8.0)) yinterp = np.interp(xvals, x, y) #xvals代表要生成點(diǎn)的橫坐標(biāo),x代表原來區(qū)間的橫坐標(biāo),y代表原來區(qū)間值得縱坐標(biāo)。 import matplotlib.pyplot as plt plt.plot(x, y, 'o') #藍(lán)色的點(diǎn) plt.plot(xvals, yinterp, '-x') #黃色的區(qū)域 plt.show() print(x) # print()
使用周期性 x 坐標(biāo)進(jìn)行插值:
>>> x = [-180, -170, -185, 185, -10, -5, 0, 365] >>> xp = [190, -190, 350, -350] >>> fp = [5, 10, 3, 4] >>> np.interp(x, xp, fp, period=360) array([7.5 , 5. , 8.75, 6.25, 3. , 3.25, 3.5 , 3.75])
復(fù)雜插值:
>>> x = [1.5, 4.0] >>> xp = [2,3,5] >>> fp = [1.0j, 0, 2+3j] >>> np.interp(x, xp, fp) array([0.+1.j , 1.+1.5j])
到此這篇關(guān)于Python numpy.interp的實(shí)例詳解的文章就介紹到這了,更多相關(guān)Python numpy.interp內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Numpy 數(shù)組操作之元素添加、刪除和修改的實(shí)現(xiàn)
本文主要介紹了Numpy 數(shù)組操作之元素添加、刪除和修改的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03python爬蟲MeterSphere平臺執(zhí)行報(bào)告使用實(shí)戰(zhàn)
這篇文章主要為大家介紹了python爬蟲MeterSphere平臺執(zhí)行報(bào)告使用實(shí)戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12