我正在使用np.interp將 csv 檔案中的兩列資料線性插入到目標(預期)值串列中。我將目標值轉換為一個 numpy 陣列。csv 檔案中的每一行對應于目標資料中的每個值。
這是一個資料示例:
x= [246.72, 8.59, 194.4 , 145.73, 198.27]
v11 v12
22.028949 22.863912
0 9.006818
134.238326 102.571956
94.222921 107.823484
200.163640 212.396264
腳本:
df['intrepo_v'] = pd.Series(dtype= 'float')
df['intrepo_v'] = np.interp(x, df['v11'].values,
df['v12'].values)
結果:
42.579263
22.863912
42.579263
42.579263
42.579263
這種插值的目的是創建intrepo_v和移動值從v11和v12移到接近的一些值x。目前結果不接近v11,v12或intrepo_v。任何人都可以提出解決這個問題的方法嗎?
uj5u.com熱心網友回復:
對于 numpy.interp 值必須增加(請參閱幫助),scipy 不假定值已排序,請嘗試:
import scipy
function=scipy.interpolate.interp1d(df['v11'].values,df['v12'].values)
df['intrepo_v'] =function(x)
或者使用 numpy 對輸入值進行排序
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410486.html
標籤:
上一篇:從稀疏表示創建Numpy陣列
