0
与えられたxでyの値を見つけようとしています。私は1つのファイル(私は複数のファイルを分析している)の配列の最大値を見つける。すべてのファイルを繰り返し処理するforループを作成します。私はx(MaxPL_IM3)が与えられたときに私のy値を探したいのですが、その値は私の配列の値ではないでしょう。与えられたときにyを見つける
#lenght is the number of files being read
#PL and IM3_hi are initialized at the beginning of the code since I
#grab the data from external files
IM3_value=[None]*length
f=[None]*length
#finds max in PL array for one file
for c in range(0,length):
MaxPL_IM3[c]=max(PL[c])
MaxPL_IM3[:]=[x-3 for x in MaxPL_IM3]
for c in range(0,length):
#PL[c] should be the array of data for one file
#IM3_hi[c] should be the array of data for one file
f[c]=interp1d(PL[c],IM3_hi[c]) #interpolate array vs array for
#one file
IM3_value[c]=f[MaxPL_IM3[c]]
print(IM3_value[c])
私はこれを実行すると、私はこれを取得:
Traceback (most recent call last):
IM3_value[c]=f[MaxPL_IM3[c]]
TypeError: list indices must be integers or slices, not numpy.float64
これは、変数の型、または構文と関係があるのでしょうか?
を試すことができます:あなたは、この行で整数にMaxPL_IM3 [C]を変換する必要があります:Hi [c] = np.interp(MaxPL_IM3 [c]、PL [c]、IM3_hi [c])それは働いた –