groupby与自定义函数的连用

需求如下:根据某一列或多列进行分组,然后得到各个组中某个值最大的一行。

代码如下: 

data=[["a",1,101],["b",1,201],["c",2,201],["d",1,301],["e",2,301]]
df=pd.DataFrame(data,columns=["A","B","C"],index=[1,3,5,7,9])
print(df)
# =============================================================================
#    A  B    C
# 1  a  1  101
# 3  b  1  201
# 5  c  2  201
# 7  d  1  301
# 9  e  2  301
# =============================================================================
df_1=df.groupby("B").apply(lambda t:t[t.C==t.C.max()])
print(df_1)
# =============================================================================
#      A  B    C
# B             
# 1 7  d  1  301
# 2 9  e  2  301
# =============================================================================

以上,记录本人学习过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值