如何找到平均速度?

How to find the average speed?

我想计算每个ID的平均速度,我用了这个代码

df_Speed=df2.groupby('ID').agg(Total_Speed=('speed Km/h', 'sum'),Total_steps=('ID', 'count')).reset_index()
df_Speed['Avg_Speed']=df_Speed['Total_Speed']/df_Speed['Total_steps']

df_Speed.head()

但我得到 inf 作为速度!

ID       Total_Speed          Total_schritte    Avg_Speed
1817603  2199.422386          149               14.761224
1817615  inf                  1178              inf
1817679  inf                  452               inf
1817888  5436.540730          271               20.061036

我怎样才能得到速度而不是这个 inf

您正在阅读数据,它以某种方式创造了无穷大。如您所知,无穷大除以某个常数仍然是无穷大。

要解决此问题,您可能需要调整数据,或用平均值填充无穷大。

import numpy as np
# Replace inf with nan
df['Total_Speed'].replace([np.inf, -np.inf], np.nan, inplace=True)
# Replace nan with mean
df['Total_Speed'].fillna(df['Total_Speed'].mean())

来源:Dropping infinite values from dataframes in pandas?