列表

详情


DA41. 运动会各项目报名透视表

描述

题目描述

某公司计划举办一场运动会,现有运动会项目数据集items.csv。 包含以下字段:

有员工报名情况数据集signup.csv。包含以下字段:

请你输出报名的各个项目情况(不包含没人报名的项目)对应的透视表。

输入描述:

数据集可以从当前目录下items.csv、signup.csv读取。
items.csv
signup.csv

输出描述:

请输出下图所示的透视表。其中行索引键为sex、department,列索引键为item_name。数值为报名对应项目的人数。如education部门男性中报名longJump的人数为1人。

alt

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python 3 解法, 执行用时: 801ms, 内存消耗: 524288KB, 提交时间: 2022-07-25

import pandas as pd
signup = pd.read_csv('signup.csv')
items = pd.read_csv('items.csv')
a = pd.merge(signup,items,on='item_id')
b = a.pivot_table(index=["sex", "department"],
                columns='item_name',
                 aggfunc={'employee_id':'size'},
                 fill_value=0)
print(b)

Python 3 解法, 执行用时: 807ms, 内存消耗: 524288KB, 提交时间: 2022-07-25

import pandas as pd
signup = pd.read_csv('signup.csv')
items = pd.read_csv('items.csv')



df = pd.merge(items,signup,on='item_id')

df1 = df.pivot_table(index=['sex','department'],
                         columns='item_name',
                         aggfunc={'employee_id':'size'},
                         fill_value='0')
print(df1)

Python 3 解法, 执行用时: 809ms, 内存消耗: 524288KB, 提交时间: 2022-07-25

import pandas as pd
signup = pd.read_csv('signup.csv')
items = pd.read_csv('items.csv')

df=pd.merge(items,signup,on="item_id",how="inner")

import pandas as pd

signup = pd.read_csv("signup.csv")
items = pd.read_csv("items.csv")

data = pd.merge(signup, items, on="item_id", how="inner")
data1 = data.pivot_table(index=["sex", "department"], 
                      columns="item_name", 
                      aggfunc={'employee_id':'size'},  
                      fill_value=0)

#
print(data1)

Python 3 解法, 执行用时: 809ms, 内存消耗: 524288KB, 提交时间: 2022-07-15

import pandas as pd
signup = pd.read_csv('signup.csv')
items = pd.read_csv('items.csv')
data = pd.merge(signup, items, on="item_id", how="inner")
data1 = data.pivot_table(index=["sex", "department"], 
                      columns="item_name", 
                      aggfunc={'employee_id':'size'},  
                      fill_value=0)
 
#
print(data1)

Python 3 解法, 执行用时: 809ms, 内存消耗: 524288KB, 提交时间: 2022-07-15

import pandas as pd
signup = pd.read_csv('signup.csv')
items = pd.read_csv('items.csv')
data = pd.merge(signup, items, on="item_id", how="inner")
data1 = data.pivot_table(index=["sex", "department"], 
                      columns="item_name", 
                      aggfunc={'employee_id':'size'},  
                      fill_value=0)
print(data1)

上一题