Python每日一练(牛客数据分析篇新题库)——第37天:合并

前言??

最近很多学了基础的小伙伴问我该怎么提升编程水平?学了基础该上哪刷题?明明学了很多,做项目却不知道怎么上手,其实这就是练得太少,只注重了学,却忽视了刷题,只有不断练习才能提高和巩固编程思维和能力!

在这里插入图片描述

刚好看到牛客网最近出了Python的新题库于是体验了一番感觉还不错

在这里插入图片描述

链接地址牛客网 | Python从入门到实践四十招,废话少说速度上号,或者跟着下文一起刷题!!!



1. 总人数超过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
 
df = pd.read_csv('Nowcoder.csv', sep=',')
print(df.groupby(['Level']).Nowcoder_ID.count()>5)

运行结果:

在这里插入图片描述



2. 统计运动会项目报名人数

描述: 某公司计划举办一场运动会,现有运动会项目数据集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')
new = signup.merge(items,on='item_id')
t = new.groupby('item_name')['employee_id'].count()>0
print(t)

运行结果:

在这里插入图片描述



3. 统计运动会项目报名人数(二)

描述: 某公司计划举办一场运动会,现有运动会项目数据集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')

# 合并
data = pd.merge(items, signup, on='item_id', how='left')
cnt = data.groupby(by='item_name')['employee_id'].count()

# 
print(cnt)

运行结果:

在这里插入图片描述



4. 多报名表的运动项目人数统计

描述: 某公司计划举办一场运动会,现有部分运动会项目数据集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
signup = pd.read_csv('signup.csv')
signup1 = pd.read_csv('signup1.csv')
items = pd.read_csv('items.csv')

# 级联员工表
signup2 = pd.concat([signup, signup1], axis=0)
# 合并
data = pd.merge(items, signup2, on='item_id', how='inner')
cnt = data.groupby(by='item_name')['item_name'].count()

# 
print(cnt)

运行结果:

在这里插入图片描述



5. 如何让刷题更加高效呢?

嫌博主更新慢的小伙伴牛客网上号自行刷题

在这里插入图片描述

链接地址牛客网 | Python从入门到实践四十招,废话少说速度上号!!!


版权声明:本文为yuan2019035055原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。