您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python Pandas Dataframe按组中的最大值选择行

Python Pandas Dataframe按组中的最大值选择行

使用标准方法groupby(keys)[column].idxmax()。但是,要使用所需的行,idxmax您需要idxmax返回唯一的索引值。获得唯一索引的一种方法调用reset_index

从中获取索引值后,groupby(keys)[column].idxmax()您可以使用来选择整行df.loc

In [20]: df.loc[df.reset_index().groupby(['F_Type'])['to_date'].idxmax()]
Out[20]: 
                       start    end
F_Type to_date                     
A      20150908143000    345    316
B      20150908143000  10743   8803
C      20150908143000  19522  16659
D      20150908143000    433     65
E      20150908143000   7290   7375
F      20150908143000      0      0
G      20150908143000   1796    340

注意:idxmax返回索引 标签 ,不一定是普通 标签 。使用后reset_index的指数标签碰巧也是序,但由于idxmax正在恢复标签(不是序号),最好是 始终 使用idxmax与配合df.loc,而不是df.iloc(因为我原来在这个岗位做。)

python 2022/1/1 18:25:10 有283人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶