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

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

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

import pandas as pd 
import datetime
pd.set_option('display.width', 300)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)

data = pd.read_csv('nowcoder.csv', sep = ',', dtype = object)

data['date'] = data['date'].apply(lambda x: x.split()[0].replace('/', '-'))
data['date'] = data['date'].apply(lambda x: datetime.datetime.strptime(x, '%Y-%m-%d').date())

# 存放日期结果
res = {}
for i in (data['user_id'].unique()):
    # 登录天数标识
    login = 1
    # 存放最大登录天数标识
    login_list = []
    # 每个客户号对应的最小练习时间
    min_date = data[data['user_id'] == i]['date'].min()
    for j in range(len(data[data['user_id'] == i]['date'].unique())):
        if min_date + pd.Timedelta(days = j + 1) in data[data['user_id'] == i]['date'].unique():
            login += 1
        else:
            login_list.append(login)   
            login = 1
            max_login = max(login_list)
    if max_login >= 3:
        res[i] = max_login
data = pd.DataFrame(columns=['user_id', 'count'])
for v,k in res.items():
    data.loc[len(data)] = {'user_id': v, 'count': k}
print(data.groupby('user_id').max()['count'])




全部评论

相关推荐

11-13 20:16
已编辑
厦门理工学院 软件测试
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。 把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等
点赞 评论 收藏
分享
hwwhwh:同双非,有大厂实习其实也没啥用,主要看运气,等就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务