この問題は本当に私を狂ってしまう。 私はそこに1 000 000行のasciiファイルを持っています。 X座標、Z-深さ-V速度の3つの列があります。 例えば: - 例えばPython、interpolation、
45000 -11657.8 5985.61
45000 -11600 ??????
45000 -11578.22 5974.688
45000 -11500 ?????
45000 -111034.451 2062.341
287800 -934.9814 2006.724
287800 -900 ????
287800 -895.1937 1984.451
ものを(それぞれ2000メートルまたは100メートルなどの場合)、ステップ による速度(V)と[15 000 0へ]
X Z V
45000 -11657.8 5985.61
45000 -11578.22 5974.688
45000 -11259.92 5930.935
287800 -1034.451 2062.341
287800 -1014.557 2051.226
287800 -934.9814 2006.724
Iは、深さ(Z)を補間する必要私がやった:
import numpy as np
from scipy.interpolate import interp1d
with open('my data' ,'r') as f:
header1 = f.readline() ###skip the first head line
X_list=[] #### Create 3 empty lists
Z_list=[]
V_list=[]
for line in f:
line = line.strip()
columns = line.split()
X = (float(columns[0])) ### separete columns and add to list and convert
Z = (float(columns[1])) ###to float
V = (float(columns[2]))
X_list.append(X)
Z_list.append(Z)
V_list.append(V)
x = np.linspace(min(Z_list),max(Z_list),6) ## step 3000m = 6 parts
print (x)
結果:
[-15000。 -12000。 -9000。 -6000。 -3000。 0]
は今、私が得た:
X Z V
45000 -15000 ??????
45000 -12000 ??????
45000 -9000 ??????
45000 -6000 ??????
45000 -3000 ??????
そこで質問です。私はどのように各座標の興味深い深さにこの速度を補間できますか? アドバイスありがとうございます
あなたは実際に 'interp1d'と実際に間違っているものは正確に適用していますか? – Praveen
私は 'x'を設定しませんでした 私はnp.interp(X_list、x、V_list)を書きました –