我想在2d轴上做一些平均值,我认为python可以很方便地做到这一点,但我的python水平相当低(即使仍在进步)。 我的数据帧为3列,如下所示:
AZ EL EIRP
0.00 10.00 20.00
0.08 10.10 21.00
0.27 10.28 22.00
0.34 10.45 23.00
0.03 10.03 31.00
0.13 10.13 32.00
0.23 10.23 33.00
0.33 10.33 34.00
所以我想通过平均,通过拆分二维AZ&;0.1步进的不同插槽中的EL 在该示例中,不同的插槽将是:
slot5(AZ=0.35+/-0.05,EL=10.45+/-0.05):指数8的平均值
首先,我创建两个列表来定义进行平均的插槽:
groupaz=np.arange(0,0.5,0.1).tolist()
groupel=np.arange(10,10.5,0.1).tolist()
按原样定义列名称后:
az=df["az"]
el=df["el"]
eirp=df["eirp"]
然后我使用了一些“for”,它工作得很好,但是对于大量数据来说,这将是相当长的一段时间,我相信python可以做得更有效,也许通过使用groupby函数。。。?我没有成功地使用它
for AZi in groupaz:
for ELi in groupel:
AZ0=AZi+epsilon
EL0=ELi+epsilon
boolaz=(df.az>=AZ0-epsilon) & (df.az<=AZ0+epsilon)
boolel=(df.el>=EL0-epsilon) & (df.el<=EL0+epsilon)
boolazel=boolaz & boolel
liste_azel_eirp_mean=df.loc[boolazel,:].eirp.mean()
if str(liste_azel_eirp_mean)!="nan":
print (AZ0," ",EL0," ",liste_azel_eirp_mean)
谢谢你们中任何能帮助我的人。 问候
目前没有回答
相关问题 更多 >
编程相关推荐