一. 简答题(共2题,100分)
- (简答题, 50分)
根据某系的实验教学计划,完成以下分析:
1)读取DataScience.xls文件数据,创建为data数据对象;
2)查询df的数据量和基本结构(df.index,df.columns);
3)查询df中是否含有NaN数据?将含有NaN数据的行导出为数据文件pre.csv,判断采用何种数据清洗模式:填充、删除或手工填充;
4)查询课程名称、实验项目名称、实验类型和二级实验室四列数据内容;
5)统计每一门课程的实验课时数;
6)统计每周开设所有实验课时数;
7)统计每门课程的实验类型分布(crosstab);
8)统计每个班级的实验课课表;
9)分析各二级实验室承担的实验课时量;
10)分析各二级实验室能够支持的实验类型。
DataScience.xls
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
# 1)
data = pd.read_excel('C:\\python\\DataScience.xls')
# 2)
print(data.index)
print(data.columns)
# 3)
print(data.isnull().any(axis=0))
data[data.isnull().any(axis=1)].to_csv('C:\\python\\pre.csv',mode = 'w')
data.dropna(how='all',inplace=True)
data.drop_duplicates(inplace = True)
data.fillna(method = 'ffill',inplace = True)
# 4)
print(data[['课程名称','实验项目名称','实验类型','二级实验室名称']])
# 5)
print(data.groupby('课程名称')['实验课时数'].count())
# 6)
print(data.groupby('周次')['实验课时数'].sum())
# 7)
data1=pd.crosstab(data['课程名称'],data['实验类型'])
print(data1)
# 8)
data1=data.sort_values(by=['周次','星期','节次']).groupby(['班级'])
for key,values in data1:
print(key,'\n',values)
# 9)
print(data.groupby(['二级实验室名称','周次'])['实验课时数'].sum())
print(pd.crosstab(data['二级实验室名称'],data['实验课时数']))
# 10)
print(pd.crosstab(data['二级实验室名称'],data['实验类型']))
- (简答题, 50分)
根据银行储户的基本信息(如表),完成以下分析。
id
age
sex
region
income
married
children
car
save_act
current_act
mortgage
pep
编号
年龄
性别
区域
收入
婚否
孩子数
有车否
存款账户
现金账户
是否抵押
接受
新业务
(1)从bankpep.csv文件中读取用户信息。
(2)查看储户的总数,以及居住在不同区域的储户数。
(3)计算不同性别储户收入的均值和方差。
(4)按性别、区域统计接受新业务的储户数。
(5)将存款账户、接受新业务的数据转化为数值型。
(6)分析收入、存款账户与接受新业务之间的关系。
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
# 1)
data = pd.read_csv('C:\\python\\bankpep.csv')
# 2)
print('储户总数:',data['id'].count())
print(data.groupby('region')['id'].count())
# 3)
print(data.groupby(['sex']).aggregate({'income':['mean','var']}))
# 4)
print(data.groupby(['sex','region']).aggregate({'pep':['count']}))
# 5)
def f(x):
if (x=='YES'):
return 1
elif (x=='NO'):
return 0
data['save_act']=list(map(f,data['save_act']))
data['pep']=list(map(f,data['pep']))
print(data)
# 6)
print(data[['income','save_act','pep']].corr())
还是c++写着顺手。。。