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
