如何从一个数据帧迭代2列,每个列的步骤不同,以计算第三列的平均值?

2024-09-29 18:44:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含x,y,vx,vy的数据帧2,我想计算二维框中vx和vy的平均值,比如:

for x in range (0,330,16):
  for y in range (0,600,100):
     mean=vx.mean()
     mean2=vy.mean()
     mean3=sqrt(mean**2+mean2**2)
     MeanVx.append(mean)
     MeanVy.append(mean2)
     MeanVm.append(mean3)

我能够使用以下代码在1D over x中完成此操作:

i=0.0
height=np.ceil(max(vels["x"]))
height1=np.ceil(max(vels["y"]))
print(height)
MeanVx=[]
MeanVy=[]
MeanVm=[]

steps=18.18       #The width of the area
steps1=36.36
while (np.round(i)<= height):
    filter_vels = vels[(i <= vels.x) & (vels.x<= i+steps)] #calculating the x intervals in px
    mean=filter_vels["vx"].mean()*2.75   #in µm/s avraging all values of vx present on a given x
    mean3=filter_vels["vy"].mean()*2.75
    mean4=sqrt(mean**2+mean3**2)
    MeanVx.append(mean)
    MeanVy.append(mean3)
    MeanVm.append(mean4)
    i=i+steps

rangeX= np.linspace(0,np.ceil(height),len(MeanVx)) #in px

我找不到将其应用于2D的方法。谢谢

图像中每个框中的平均速度

plotsplots


Tags: innpstepsmeanheightappendceilvx

热门问题