Dec-17-2021, 03:32 PM
Hello,
I am working on data from which I calculate (using peakutilis) 4 peaks.
These positions of the 4 peaks are stored in a list like:
[3141, 4989, 5499, 6714]
I have over a hundred nearly similar data sets, and I want to efficiently calculate the average of each entry position (entry in the list)
For now I am doing it like this:
Regards,
xquad
I am working on data from which I calculate (using peakutilis) 4 peaks.
These positions of the 4 peaks are stored in a list like:
[3141, 4989, 5499, 6714]
I have over a hundred nearly similar data sets, and I want to efficiently calculate the average of each entry position (entry in the list)
For now I am doing it like this:
indexlist = [] for t, scope_y in enumerate(scope_ys): scope_y = scope_y[0] indexes = peakutils.indexes(scope_y, thres=0.07, min_dist=500) indexlist.append(indexes) v = np.asarray(indexlist) a_lst = [] b_lst = [] c_lst = [] d_lst = [] for i in range(len(v)): a = v[i,0] a_lst.append(a) b = v[i,1] b_lst.append(b) c = v[i,2] c_lst.append(c) d = v[i,3] d_lst.append(d) for i in range(4): a_avg = int(np.average(a_lst)) b_avg = int(np.average(b_lst)) c_avg = int(np.average(c_lst)) d_avg = int(np.average(d_lst)) indexes = [a_avg,b_avg,c_avg,d_avg] print(indexes)Do you know how to do this in a more efficient way?
Regards,
xquad