我正在使用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/