我正在使用 Pandas 来分析我的数据。我有这个由 elapsed_seconds 和 m(幅度)组成的数据框。有没有办法让我按 float (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 过滤 float 到数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46586962/