2024-04-26 04:38:39 发布
网友
我有下面的数据帧。在
c1 c2 v1 v2 0 a a 1 2 1 a a 2 3 2 b a 3 1 3 b a 4 5 5 c d 5 0
我希望有以下输出。在
规则。第一组数据帧由c1,c2。然后在每个组中,保留v2列中具有最大值的行。 最后,输出原始数据帧,并删除所有不满足先前规则的行。在
获得这个结果的更好方法是什么?谢谢。在
四处走走,我也发现了this solution based on apply method
您可以使用^{} to generate a boolean selection mask:
grouped = df.groupby(['c1', 'c2']) mask = grouped['v2'].transform(lambda x: x == x.max()).astype(bool) df.loc[mask].reset_index(drop=True)
收益率
您可以使用^{} to generate a boolean selection mask :
收益率
^{pr2}$相关问题 更多 >
编程相关推荐