与pandas groupby where you get the max of one column and the min of another column类似,假设 Dataframe 是关于赛车的,我们在df中有以下[Race_Event_ID,Car_ID,Driver_ID,AvgSpeed] Group By df.group_by(['Race_Event_ID'])['Speed'].agg(['max','mean',.....]
可以给出Group by Stats。但我需要有'Speed' , Car_ID, Driver_ID
的Topper,或谁的speed = 'Max Speed'
,同样的裁缝的速度,Car_ID,Driver_ID,即速度=最小速度。
考虑到可能有平局与最高速度,让我们得到两者或至少一个。
一种解决方案是,
df_max =df.group_by(['Race_Event_ID'])['Speed'].agg(['max'])
df_max.merge(df,on='Race_Event_ID')
这个解决方案可能需要时间。在数据的相同迭代中,如果我们自己迭代,事情可能是可以实现的。我们有没有一个有效的方法在Pandas?我也很想看到Spark DataFrame解决方案。
1条答案
按热度按时间bkkx9g8r1#
如果你不使用合并,你可以尝试Windows: