トリプルネストされたループを機能させようとしています。
私のコードは次のようなものです:
c = 4
y1 = []
m1 = []
std1 = []
while c < 24:
c = c + 1
a = []
f.seek(0, 0)
for columns in ( raw.strip().split() for raw in f ):
a.append(columns[c])
x = np.array(a, float)
not_nan = np.logical_not(np.isnan(x))
indices = np.arange(len(x))
interp = interp1d(indices[not_nan], x[not_nan], kind = 'nearest')
p = interp(indices)
N = len(p)
dt = 900.0 #Time step (seconds)
fs = 1.0 / dt #Sampling frequency
KA,PSD = oned_Fourierspectrum(p,dt) # Call Song's 1D FS function
time_axis = np.linspace(0.0, N, num = N, endpoint = False) * 15 / (60 * 24)
plot_freq = 24 * 3600.0 * KA #Convert to cycles per day
plot_period = 1.0 / plot_freq # convert to days/cycle
fpsd = plot_freq * PSD
d = -1
while d < 335:
d = d + 1
y = fpsd[d]
y1 = y1 + [y]
m = np.mean(y1)
m1 = m1 + [m]
print m1
私の目的は のリストを作ることです[mean(fpsd[0]), mean(fpsd[1]), mean(fpsd[2]).. mean(fpsd[335])]
。それぞれy1
が のリストになりfpsd[d]
ます。
私がチェックしました; 2 番目の while ループの前にかなりうまく機能しており、 の個々の平均を取得できますfpsd[d]
。ただし、2番目のループ全体では、間違いなく間違った数値が生成されます。この問題を手伝ってくれませんか?