我正在使用Pandas分析我的数据。我有这个数据帧,包括elapsed_seconds和m(magnitude)。有没有办法让我对浮点数的五位数(elapsed_seconds)进行分组并找到m的平均值?

例:

elapsed_seconds,m
10769.001,0.373637934043
10769.027,0.373403294813
10769.041,0.373069383556
10769.061,0.391354911476
10769.081,0.381280413801


我需要的是:

elapsed_seconds,m
10769,0.3785491875378


0.3785491875378是0.373637934043、0.373403294813、0.373069383556、0.391354911476和0.381280413801的平均值

我将不胜感激所有反馈和评论。谢谢。

最佳答案

您可以将float列转换为int,然后将groupby转换为汇总mean

df = df.groupby(df['elapsed_seconds'].astype(int))['m'].mean().reset_index()
print (df)
   elapsed_seconds         m
0            10769  0.378549

关于python - Pandas 过滤浮点到数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46586962/

10-12 16:55