2

Initial Data enter image description here

d = {'RedVal':[1,1.1,2,1.5,1.7,2,1,1.1,2,1,1.1,2,2.6,2.5,2.4,2.5], 'GreenVal':[1,1.1,1.1,1,1.1,1.7,1,1.1,1.5,1,1.9,3,2.8,2.7,2.6,2.5],'Frame':[0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3],'Particle':[0,0,0,0,2,2,2,2,3,3,3,3,4,4,4,4] }
testframe = pd.DataFrame(data=d)
testframe

framenot = 2  #set how many frames you would like to get initial ratio for
ratarray = [] #initialize blank ratio array
testframe.sort_values(by =[ 'Particle', 'Frame'])
for particle in range(0,5):
    if(testframe['Particle']== particle).any() == False:
        particle = particle + 1
    else:
        newframe = testframe.loc[(testframe['Frame']<= framenot) & (testframe['Particle'] == particle)]
        #print(particle)
        for i in range(framenot):
            #print(i)
            GVal = newframe['GreenVal'].values[i]
            RVal = newframe['RedVal'].values[i]
            ratio = RVal/GVal
            #print(RVal)
            #print(GVal)
            #print(ratio)
            ratarray.append(ratio)
            i+=1
            #print(ratarray)
           
        particle+=1
ratarray = np.array(ratarray)
avgRatios = np.average(ratarray.reshape(-1,framenot), axis = 1)
stdRatios = np.std(ratarray.reshape(-1,framenot), axis = 1)
print(avgRatios) #array with average ratios over set frames starting from initial particle
print(stdRatios)

So far I have code that gives the avg and standard deviation for each particle's ratio of Red/Green over the frames 0 and 1. Now I want to compare this avg ratio to the ratio for the next x frames and eliminate particles where the subsequent frames ratios falls outside the avg+2stdev. Not quite sure how to do this. Any help is appreciated.

k07
  • 21
  • 2
  • 2
    So you have code to create a dataframe, and code to do what you want, why are you posting pictures of both instead of the code itself? We can't copy/paste from a picture to help you out. – Chris Sep 27 '22 at 20:20
  • 2
    Please provide your code and/or output as inserted text as opposed to images so that the community can better analyze your issue. – NoDakker Sep 27 '22 at 20:21
  • Apologies, just edited it and added the code. – k07 Sep 27 '22 at 20:28

0 Answers0