2025年dhu 数据科学与技术 第7次作业

dhu 数据科学与技术 第7次作业一 简答题 共 1 题 100 分 简答题 100 分 文件 bankpep csv 存放着银行储户的基本信息 数据格式如表 4 7 所示 通过绘图对这些客户数据进行可视化分析 1 客户年龄分布的直方图和密度图 见图 4 25 2

大家好,我是讯享网,很高兴认识大家。

一. 简答题(共1题,100分)

  1. (简答题, 100分)
    文件bankpep.csv存放着银行储户的基本信息,数据格式如表4-7所示。
    表4-7  bankpep.csv数据文件的数据格式
    讯享网
    通过绘图对这些客户数据进行可视化分析。
    (1)客户年龄分布的直方图和密度图(见图4-25)。
    (2)客户年龄和收入关系的散点图(见图4-26)。
    在这里插入图片描述
    图4-25 客户年龄分布
    在这里插入图片描述
    图4-26 按客户年龄和收入关系绘制的散点图

(3)绘制散点图观察客户(年龄、收入、孩子数)之间的关系,用对角线显示直方图(见图4-27)。
(4)按区域展示平均收入的柱状图,并显示标准差(见图4-28)。
在这里插入图片描述
图4-27 按客户年龄、收入、孩子数关系绘制的散点矩阵
在这里插入图片描述
图4-28 各区域客户的平均收入

(5)多子图绘制:客户中性别占比饼图,有车客户的性别占比饼图,按孩子数的客户占比饼图(见图4-29)。
(6)各性别、收入绘制的箱形图(见图4-30)。
在这里插入图片描述
图4-29 按性别、有车客户的性别、孩子数占比绘制的饼图
在这里插入图片描述
图4-30 按性别、收入绘制的箱形图
bankpep.csv

解题

import matplotlib.pyplot as plt import pandas as pd from pandas import DataFrame import numpy as np import matplotlib data = pd.read_csv('C:\\python\\bankpep.csv') # 1) plt.hist(data['age'],bins=10,density=True) data['age'].plot(kind='kde') plt.title('Customer Age') plt.xlabel('Age') plt.ylabel('Density') plt.show() # 2) plt.scatter(data['age'],data['income'],label = '(age,income)',marker=',',s=7) plt.grid(True) plt.xlim(0,80) plt.title('Customer Income') plt.legend() plt.xlabel('Age') plt.ylabel('Income') plt.show() # 3) pd.plotting.scatter_matrix(data[['age','income','children']]) plt.show() # 4) mean = data.groupby(['region']).agg({ 
   'income':np.mean}) std = data.groupby(['region']).agg({ 
   'income':np.std}) plt.bar(mean.index,mean.income,yerr=std.income,width=0.6) plt.xlabel('Recion') plt.title('Customer Income') plt.xticks(rotation=45) plt.show() # 5) fig=plt.figure(figsize=(6,6)) ax1=fig.add_subplot(2,2,1) list1=data.groupby(['sex'])['sex'].count() plt.pie(list1,labels=['FEMALE','MALE'],startangle = 45,autopct='%0.1f%%') plt.ylabel('sex') plt.title('Customer Sex') ax2=fig.add_subplot(2,2,2) list1=data[data['car'] =='YES'].groupby(['sex'])['sex'].count() plt.pie(list1,labels=['FEMALE','MALE'],startangle = 45,autopct='%0.1f%%') plt.ylabel('sex') plt.title('Customer Car Sex') ax3=fig.add_subplot(223) list1=data.groupby(['children'])['children'].count() plt.pie(list1,labels=[0,1,2,3],startangle = 45,autopct='%0.1f%%') plt.ylabel('Children') plt.title('Customer Children') plt.show() # 6) MALE = data[data['sex']=='MALE']['income'] FEMALE = data[data['sex']=='FEMALE']['income'] plt.boxplot([FEMALE,MALE],labels=['FEMALE','MALE']) plt.xlabel('[sex]') plt.title('Boxplot grouped by sex income') plt.grid(True) plt.show() 

讯享网
小讯
上一篇 2025-04-02 08:40
下一篇 2025-03-24 21:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/109455.html