Pandas 过滤浮点数到数字
Pandas filtering floating point to digit
我正在使用 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
我正在使用 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