これは私のデータです:
a b c
732018 2.501 95.094
732018 3.001 91.658
732018 3.501 89.164
732018 3.751 88.471
732018 4.001 88.244
732018 4.251 88.53
732018 4.501 89.8
732018 4.751 90.66
732018 5.001 92.429
732018 5.251 94.58
732018 5.501 97.043
732018 6.001 102.64
732018 6.501 108.798
732079 2.543 94.153
732079 3.043 90.666
732079 3.543 88.118
732079 3.793 87.399
732079 4.043 87.152
732079 4.293 87.425
732079 4.543 88.643
732079 4.793 89.551
732079 5.043 91.326
732079 5.293 93.489
732079 5.543 95.964
732079 6.043 101.587
732079 6.543 107.766
732170 2.597 95.394
732170 3.097 91.987
732170 3.597 89.515
732170 3.847 88.83
732170 4.097 88.61
732170 4.347 88.902
732170 4.597 90.131
732170 4.847 91.035
732170 5.097 92.803
732170 5.347 94.953
732170 5.597 97.414
732170 6.097 103.008
732170 6.597 109.164
732353 4.685 91.422
と を取得しようとしてc
いa=732107
ますb=4.92
。基本的な線形補間を使用した次の計算に基づいて、〜90.79を期待しています(薄緑は元のデータ、濃い緑の中間ステップ、太字の黒は結果です):
しかし、サーフェス全体を Rbf にフィードすると、奇妙な結果が得られます。
import pandas
from scipy.interpolate import Rbf
interp_fun = Rbf(df["a"], df["b"], df["c"], function='cubic',smooth=0)
vol = interp_fun(732107,4.92)
print(vol)
array(207.6631648)
必要のないところを外挿しているようです。
何が欠けていますか?