我有以下数据框:
Trip_ID Trip_Trajectory Trip_Distance Trip_Speed
1001 1 15 2
1001 2 10 0
1001 3 20 6
我想使用Groupby汇总数据。我得到这个结果:
Trip_ID Trip_Distance Trip_Speed
1001 45 2,67
这是我现在使用的代码:
dataset_agg = dataset.groupby('Trip_ID').agg({'Trip_Distance': ['sum'], 'Trip_Speed': ['mean']})
但是我需要在“ Trip_Speed”列中排除零以获得以下结果:
Trip_ID Trip_Distance Trip_Speed
1001 45 4
提前致谢
最佳答案
用NaN替换零,在聚合过程中将忽略NaN。
(df.replace(0, np.nan)
.groupby('Trip_ID', as_index=False)
.agg({'Trip_Distance': 'sum', 'Trip_Speed': 'mean'}))
Trip_ID Trip_Distance Trip_Speed
0 1001 45 4.0
关于python - 使用 Pandas 计算平均值时排除列中的零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56546812/