题解 | #牛客网连续练习题目3天及以上的用户#
牛客网连续练习题目3天及以上的用户
https://www.nowcoder.com/practice/4d77709a0ea2482282ee86852fe32f06
import pandas as pd nowcoder = pd.read_csv("nowcoder.csv") nowcoder["date"] = pd.to_datetime(nowcoder["date"], format="%Y/%m/%d %H:%M") nowcoder["date"] = nowcoder["date"][(nowcoder["date"].dt.year == 2021) & (nowcoder["date"].dt.month == 12)] nowcoder["rank"] = pd.to_timedelta(nowcoder.groupby("user_id")["date"].rank(), unit="D") nowcoder["same_date"] = (nowcoder["date"] - nowcoder["rank"]).dt.strftime("%Y-%m-%d") data = (nowcoder.groupby(["user_id", "same_date"])["rank"].count().groupby("user_id").max()) print(data[data >= 3])