使用标准方法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
(因为我原来在这个岗位做。)