本文簡要介紹 python 語言中 scipy.interpolate.interp1d
的用法。
用法:
class scipy.interpolate.interp1d(x, y, kind='linear', axis=-1, copy=True, bounds_error=None, fill_value=nan, assume_sorted=False)#
插值一維函數。
遺產
此類被視為遺留類,將不再接收更新。這也可能意味著它將在未來的 SciPy 版本中被刪除。有關
interp1d
的預期替換的指南,請參閱一維插值。x和y是用於逼近某個函數 f 的值數組:
y = f(x)
.此類返回一個函數,其調用方法使用插值來查找新點的值。- x: (npoints, ) 類似數組
一維實數值數組。
- y: (..., npoints, ...) 數組
N-D 實數值數組。長度為y沿插補軸的長度必須等於x。使用
axis
參數來選擇正確的軸。與其他插補器不同,默認插補軸是最後一個軸y.- kind: str 或 int,可選
將插值類型指定為字符串或整數,指定要使用的樣條插值器的順序。該字符串必須是 ‘linear’, ‘nearest’、‘nearest-up’、‘zero’, ‘slinear’, ‘quadratic’, ‘cubic’, ‘previous’ 或 ‘next’ 之一。 ‘zero’, ‘slinear’, ‘quadratic’和‘cubic’指的是零階、一階、二階或三階樣條插值; ‘previous’ 和 ‘next’ 僅返回該點的上一個或下一個值; ‘nearest-up’和‘nearest’在插值half-integers(例如0.5、1.5)時有所不同,‘nearest-up’向上舍入,而‘nearest’向下舍入。默認為‘linear’。
- axis: 整數,可選
y
數組中的軸對應於 x 坐標值。與其他插值器不同,默認為axis=-1
。- copy: 布爾型,可選
如果為 True,則該類製作 x 和 y 的內部副本。如果為 False,則使用對 x 和 y 的引用。默認是複製。
- bounds_error: 布爾型,可選
如果為 True,則在任何時候嘗試對 x 範圍之外的值進行插值時都會引發 ValueError(需要外插)。如果為 False,則分配超出範圍的值
fill_value
。默認情況下,除非fill_value="extrapolate"
否則會引發錯誤。- fill_value: 類似數組或(類似數組,數組)或“extrapolate”,可選
如果是 ndarray (或 float),則該值將用於填充數據範圍之外的請求點。如果未提供,則默認值為 NaN。類似數組必須正確廣播到非插值軸的維度。
如果是雙元素元組,則第一個元素用作
x_new < x[0]
的填充值,第二個元素用作x_new > x[-1]
。任何不是 2 元素元組的內容(例如,列表或 ndarray,無論形狀如何)都被視為單個類似數組的參數,用於兩個邊界,如below, above = fill_value, fill_value
。使用二元素元組或 ndarray 需要bounds_error=False
。如果“extrapolate”,則將外推數據範圍之外的點。
- assume_sorted: 布爾型,可選
如果為 False,則 x 的值可以是任何順序,並且它們首先被排序。如果為 True,x 必須是一個單調遞增值的數組。
參數 ::
注意:
使用輸入值中存在的 NaNs 調用
interp1d
會導致未定義的行為。輸入值 x 和 y 必須可轉換為浮點值,例如 int 或浮點數。
如果 x 中的值不是唯一的,則結果行為是未定義的並且特定於種類的選擇,即改變種類將改變重複的行為。
例子:
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import interpolate >>> x = np.arange(0, 10) >>> y = np.exp(-x/3.0) >>> f = interpolate.interp1d(x, y)
>>> xnew = np.arange(0, 9, 0.1) >>> ynew = f(xnew) # use interpolation function returned by `interp1d` >>> plt.plot(x, y, 'o', xnew, ynew, '-') >>> plt.show()
fill_value
填充值。
屬性 ::
相關用法
- Python SciPy interpolate.interp2d用法及代碼示例
- Python SciPy interpolate.interpn用法及代碼示例
- Python SciPy interpolate.insert用法及代碼示例
- Python SciPy interpolate.make_interp_spline用法及代碼示例
- Python SciPy interpolate.krogh_interpolate用法及代碼示例
- Python SciPy interpolate.InterpolatedUnivariateSpline用法及代碼示例
- Python SciPy interpolate.BSpline用法及代碼示例
- Python SciPy interpolate.LSQSphereBivariateSpline用法及代碼示例
- Python SciPy interpolate.griddata用法及代碼示例
- Python SciPy interpolate.splder用法及代碼示例
- Python SciPy interpolate.LinearNDInterpolator用法及代碼示例
- Python SciPy interpolate.PPoly用法及代碼示例
- Python SciPy interpolate.NdBSpline用法及代碼示例
- Python SciPy interpolate.pade用法及代碼示例
- Python SciPy interpolate.barycentric_interpolate用法及代碼示例
- Python SciPy interpolate.RegularGridInterpolator用法及代碼示例
- Python SciPy interpolate.NdPPoly用法及代碼示例
- Python SciPy interpolate.approximate_taylor_polynomial用法及代碼示例
- Python SciPy interpolate.RectSphereBivariateSpline用法及代碼示例
- Python SciPy interpolate.sproot用法及代碼示例
- Python SciPy interpolate.splantider用法及代碼示例
- Python SciPy interpolate.CloughTocher2DInterpolator用法及代碼示例
- Python SciPy interpolate.BPoly用法及代碼示例
- Python SciPy interpolate.BarycentricInterpolator用法及代碼示例
- Python SciPy interpolate.splrep用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.interpolate.interp1d。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。