I am trying to find the top 10/300 values in a for loop. I understand how to find the max value for the entire loop, but I am trying to calculate 300 values and then only use the top 10 values in those 300.
Here is my for loop:
random.shuffle(folder)
for i in range(len(folder)):
if i < 30:
phaseresult_i = []
data = np.loadtxt(dir + folder[i])
time = data[:,0]-2450000
magnitude = data[:,1]
#print ('\n File:', folder[i],'\n','Time:',time,'\n', 'Magnitude:', magnitude)
t = 10000 * time
y = np.sin(2 * np.pi * t) * time
frequency, power = LombScargle(t, y).autopower()
period = np.log(1/frequency)[np.argmax(power)]
maxpower = power.max()
for t in range(len(time)):
#print(t,time[t])
floor = math.floor((time[t]-time[0])/period)
phase_i = ((time[t]-time[0])/period)-floor
phaseresult_i.append(phase_i)
maxpower_i.append(maxpower)
folder_i.append(folder[i])
else:
break
The value I am trying to find the maximums are the top ten max powers and their Periods.