我的数据框由学生、日期和考试成绩组成。我想找到每个学生的max date并返回相应的行(最终,我最感兴趣的是学生最近的分数)。我怎么能在熊猫身上做到这一点?在
假设我的数据帧如下(缩写版本):
Student_id Date Score
Tina1 1/17/17 .95
John2 1/18/17 .8
Lia1 12/13/16 .845
John2 1/25/17 .975
Tina1 1/1/17 .78
Lia1 6/12/16 .89
这就是我想要的:
^{pr2}$我在SO上找到了这个,但是它给了我一个位置索引器越界错误。在
df.iloc[df.groupby('student_id').apply(lambda x: x['date'].idxmax())]
还有什么方法可以达到同样的效果?在
您可以按日期对数据帧进行排序,然后使用
groupby.tail
获取最新记录:或者避免排序,请使用
^{pr2}$idxmax
(如果没有重复的索引,则可以这样做):相关问题 更多 >
编程相关推荐