描述: 现有牛客网12月每天练习题目的数据集nowcoder.csv。包含如下字段(字段之间用逗号分隔):
user_id:用户id
question_id:问题编号
result:运行结果
date:练习日期
请你统计答对和答错的总数分别是多少。
实现代码:
import pandas as pd
nowcoder = pd.read_csv('nowcoder.csv')
a=nowcoder.groupby("result")
print(a.size())
运行结果:

描述: 现有牛客网12月每天练习题目的数据集nowcoder.csv。包含如下字段(字段之间用逗号分隔):
user_id:用户id
question_id:问题编号
result:运行结果
date:练习日期
请你统计2021年12月连续练习题目3天及以上的所有用户。
实现代码:
'''
代码已通过,两个要点:
1. 先去掉date的时间,再转为日期格式;
2. 对user_id和答题日期去重。
'''
import pandas as pd
from datetime import timedelta
nowcoder = pd.read_csv('nowcoder.csv')
nowcoder['date'] = pd.to_datetime(nowcoder['date'].str.split(' ', expand=True).iloc[:,0]) # 去掉时间,然后将字符串转为日期格式
df = nowcoder[nowcoder['date'].dt.strftime("%Y-%m") == '2021-12'][['user_id','date']].drop_duplicates() # 筛选12月的数据,只取user_id和答题日期,并去重
df['rk'] = pd.to_timedelta(df.groupby(['user_id'])['date'].rank(),unit='d') # 根据user_id分组,并根据答题日期date排序;将排序转为日期差rk,以天为单位
df['diff'] = df['date']-df['rk'] # 答题日期减去日期差rk,得到diff;同一个用户同一次连续答题,会有一样的diff值
df1 = df.groupby(['user_id','diff']).count() # 得到每个用户每次连续答题的天数
df2 = df1.groupby('user_id')['rk'].max() # 取用户最大连续答题天数
print(df2[df2>=3])
运行结果:

描述: 现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
Nowcoder_ID:用户ID
Name:用户名
Level:等级
Achievement_value:成就值
Num_of_exercise:刷题量
Graduate_year:毕业年份
Language:常用语言
Continuous_check_in_days:最近连续签到天数
Number_of_submissions:提交代码次数
Last_submission_time:最后一次提交题目日期
牛牛想要知道牛客网这些刷题用户,每年毕业生中最高的成就值分别是多少?
实现代码:
import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
a = Nowcoder.groupby("Graduate_year").Achievement_value.max()
print(a)
运行结果:

描述: 现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
Nowcoder_ID:用户ID
Name:用户名
Level:等级
Achievement_value:成就值
Num_of_exercise:刷题量
Graduate_year:毕业年份
Language:常用语言
Continuous_check_in_days:最近连续签到天数
Number_of_submissions:提交代码次数
Last_submission_time:最后一次提交题目日期
正在牛客网学习编程的小白同学,想要知道牛客网的用户们都使用了哪些语言,尤其是不同等级的用户中各类语言的使用分别有多少人,你能帮助他输出一下吗?
实现代码:
import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
print(Nowcoder.groupby(['Level','Language']).Nowcoder_ID.count())
运行结果:

《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

