Python篇数据分析习题(五)

举报
漫步桔田 发表于 2023/02/16 11:36:00 2023/02/16
【摘要】 Python篇数据分析习题(五)

1.现有牛客网12月每天练习题目的数据集nowcoder.csv。包含如下字段(字段之间用逗号分隔):
user_id:用户id
question_id:问题编号
result:运行结果
date:练习日期
请你统计答对和答错的总数分别是多少。

import pandas as pd
 
data = pd.read_csv("nowcoder.csv", sep=",")
 
print(data.groupby("result")["result"].count())

2.现有牛客网12月每天练习题目的数据集nowcoder.csv。包含如下字段(字段之间用逗号分隔):
user_id:用户id
question_id:问题编号
result:运行结果
date:练习日期
请你统计2021年12月连续练习题目3天及以上的所有用户。

import pandas as pd
 
nd = pd.read_csv("nowcoder.csv")
nd["date"] = pd.to_datetime(nd["date"])
nd["date_1"] = nd["date"].dt.strftime("%Y-%m")
data = nd[nd["date_1"] == "2021-12"]
data["date_2"] = pd.to_datetime(data["date"].dt.date)
data["rk"] = pd.to_timedelta(data.groupby(["user_id"])["date_2"].rank(), unit="d")
data["cha"] = data["date_2"] - data["rk"]
result = data.groupby(["user_id", "cha"]).count().groupby("user_id")["rk"].max()
 
print(result[result >= 3])

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
import datetime as dt
 
nd = pd.read_csv("Nowcoder.csv")
 
print(nd.groupby("Graduate_year")["Achievement_value"].max())

4.现有一个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
import datetime as dt
 
nd = pd.read_csv("Nowcoder.csv")
 
print(nd.groupby(["Level", "Language"])["Nowcoder_ID"].count())

5.现有一个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:最后一次提交题目日期
产品经理小X同学想要分析一下用户的等级数据,他想知道在人数大于5的条件下,各个等级都分别有多少人?

import pandas as pd
import datetime as dt
 
nd = pd.read_csv("Nowcoder.csv")
 
nd_time = nd.groupby("Level")["Level"].count()
 
print(nd_time)

6.某公司计划举办一场运动会,现有运动会项目数据集items.csv。 包含以下字段:
item_id:项目编号;
item_name:项目名称;
location:比赛场地。
有员工报名情况数据集signup.csv。包含以下字段:
employee_id:员工编号;
name:员工姓名;
sex:性别;
department:所属部门;
item_id:报名项目id
请你统计各类型项目的报名人数。

import pandas as pd
 
df = pd.read_csv("items.csv")
df1 = pd.read_csv("signup.csv")
 
data = pd.merge(df, df1, on="item_id")
 
print(data.groupby(["item_name"])["item_name"].count())

7.某公司计划举办一场运动会,现有运动会项目数据集items.csv。 包含以下字段:
item_id:项目编号;
item_name:项目名称;
location:比赛场地。
有员工报名情况数据集signup.csv。包含以下字段:
employee_id:员工编号;
name:员工姓名;
sex:性别;
department:所属部门;
item_id:报名项目id
请你统计各类型项目的报名人数。

import pandas as pd
 
signup = pd.read_csv("signup.csv")
items = pd.read_csv("items.csv")
df = pd.merge(signup, items, on="item_id")
 
print(df.groupby("item_name")["item_id"].count())

8.某公司计划举办一场运动会,现有部分运动会项目数据集items.csv。 包含以下字段:
item_id:项目编号;
item_name:项目名称;
location:比赛场地。
有员工报名情况数据集signup.csv。包含以下字段:
employee_id:员工编号;
name:员工姓名;
sex:性别;
department:所属部门;
item_id:报名项目id。
另有signup1.csv,是education部门的报名情况,包含字段同signup.csv。
请你将signup.csv与signup1.csv的数据集合并后,统计各类型项目的报名人数。

import pandas as pd
 
items = pd.read_csv("items.csv")
signup = pd.read_csv("signup.csv")
signup1 = pd.read_csv("signup1.csv")
signup_all = pd.concat([signup, signup1])
df = pd.merge(items, signup_all, on="item_id")
 
print(df.groupby("item_name").size())
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。