为了账号安全,请及时绑定邮箱和手机立即绑定

在多索引数据帧中查找每个索引的第一个匹配项

在多索引数据帧中查找每个索引的第一个匹配项

白板的微信 2022-09-06 21:27:50
我有一个名为panel_long的熊猫数据帧,看起来像这样:                 x  y  z event Startcompany period   A       1        1  2  3 False 5B       1        1  2  3 False 7...A       27       1  2  3 True  5B       27       1  2  3 False 7...A       31       1  2  3 False 5B       31       1  2  3 True  7作为使用活动线进行生存分析的准备,我想添加一列,指出第一个周期事件等于每个公司的 True。对于非多索引数据帧,我会使用idxmax,但我无法弄清楚如何使其适用于多索引df。其中,我尝试了以下方法:def funct(df, column):    df[column].idxmax()df = panel_long.groupby('company').apply(funct, ('event'))但这只会返回一个空的数据帧。有什么想法吗?我被卡住了
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

您应该在自定义函数中输出return


def funct(df, column):

    return df[column].idxmax()

df.groupby('company').apply(funct, ('event'))

Out[248]: 

company

A    (A, 1)

B    (B, 1)

dtype: object


查看完整回答
反对 回复 2022-09-06
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号