小笨蛋看过来 | #牛客网连续练习题目3天及以上的用户#

牛客网连续练习题目3天及以上的用户

https://www.nowcoder.com/practice/4d77709a0ea2482282ee86852fe32f06

import pandas as pd
from datetime import timedelta
 
nowcoder = pd.read_csv("nowcoder.csv")

# 转时间
nowcoder["date"] = pd.to_datetime(nowcoder["date"])

# 新建年月列date1
nowcoder["date1"] = nowcoder["date"].dt.strftime("%Y-%m")
print(nowcoder)

# 筛选时间在2021年12月的数据于新表data
data = nowcoder[nowcoder["date1"] == "2021-12"]

# 新建年月日列date2
data["date2"] = pd.to_datetime(data["date"].dt.date)

# 按照天排序,使用rank同一天还是同一天
data["rk"] = pd.to_timedelta(data.groupby(["user_id"]).date2.rank(), unit="d")

# 将日期与排名相减,如果是连续的,得到的差是相同的,相同的值出现几次就连续几天
data["cha"] = data["date2"] - data["rk"]

# 先按照user_id,cha排序统计各个值的次数在按照user_id排序统计rk列的最大值,如果不按cha排序就会有重复值3760 3
data1 = data.groupby(["user_id", 'cha']).count().groupby("user_id").rk.max()
# 输出最大值大于等于3
print(data1[data1>=3])

全部评论

相关推荐

逆流河上万仙退:如果是能有面试的话应该简历没啥问题 争取表现好一点然后到岗时间实习天数往长了说 先看看能不能有offer
点赞 评论 收藏
分享
评论
13
1
分享

创作者周榜

更多
牛客网
牛客企业服务