前几天遇到的一道 Pandas 面试题,你会吗?

前几天遇到一道 K12 行业的面试题,今天和大家分享下!

背景:有一张记录用户登录网上教室的表,现需要找到最近两次登录间隔大于 7 天的用户,原始表的样式如下(学习记录时间是乱序的)。

解决思路:

1、因为要找最近两次登录间隔,所以第一步我们要对每个用户的学习记录时间进行排序。

df.sort_values(['用户ID', '学习记录'], inplace=True)

2、排序完之后我们只需保留每个用户最近两次登录的行就行。

df = df.groupby(['用户ID']).tail(2)

3、再对每个用户最近两次登录时间相减,保留间隔大于 7 天的数据。

你会做了吗?

发表评论

电子邮件地址不会被公开。