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.

3
  • 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. Commented Sep 27, 2022 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. Commented Sep 27, 2022 at 20:21
  • Apologies, just edited it and added the code. Commented Sep 27, 2022 at 20:28

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.