您的位置:首页 > 房产 > 家装 > 带佣金的旅游推广平台有哪些_入返晋人员登记网页怎么制作_什么是电商_怎样做推广更有效

带佣金的旅游推广平台有哪些_入返晋人员登记网页怎么制作_什么是电商_怎样做推广更有效

2025/4/21 18:44:41 来源:https://blog.csdn.net/qq_39178479/article/details/144196068  浏览:    关键词:带佣金的旅游推广平台有哪些_入返晋人员登记网页怎么制作_什么是电商_怎样做推广更有效
带佣金的旅游推广平台有哪些_入返晋人员登记网页怎么制作_什么是电商_怎样做推广更有效

实训1 分析学生考试成绩特征分布与分散情况

1、训练要点

(1)掌握pyplot 的基础语法。
(2)掌握饼图的绘制方法。
(3)掌握箱线图的绘制方法。

2.需求说明

在期末考试后,学校对学生的期末考试成绩及其他特征信息进行了统计,并存为学生成绩特征关系表(student_grade.xlsx)。学生成绩特征关系表共有7个特征,分别为性别、自我效能感、考试课程准备情况、数学成绩、阅读成绩、写作成绩和总成绩,其部分数据如表5-40所示。为了解学生考试总成绩的分布情况,将总成绩按0150、150200、200250、250300区间划分为“不及格”“及格”“良好”“优秀”4个等级,通过绘制饼图查看各区间学生人数比例,并通过绘制箱线图查看学生3项单科成绩的分散情况。

在这里插入图片描述

3.实现步骤

(1)使用pandas库读取学生考试成绩数据。

# 实训1 分析学生考试成绩特征分布与分散情况
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
# (1)使用pandas库读取学生考试成绩数据
data = pd.read_excel('../data/student_grade.xlsx')  
data

(2)将学生考试总成绩分为4个区间,计算各区间下的学生人数,绘制学生考试总成
绩分布饼图。

# (2)将学生考试成绩分为4个区间,计算各区间下的学生人数,绘制学生考试总成绩分布饼图
sum_grade = data['总成绩']
len_data=data.shape[0]
# 设置区间人数
grade1 = 0  #0-150之间
grade2 = 0  #150-200之间
grade3 = 0  #200-250之间
grade4 = 0  #250-300之间
for i in range(len_data):if 0 < sum_grade[i] <= 150:grade1 += 1elif 150 < sum_grade[i] <= 200:grade2 += 1elif 200 < sum_grade[i] <= 250:grade3 += 1elif 250 < sum_grade[i] <= 300:grade4 += 1all_grade = [grade1, grade2, grade3, grade4]
all_grade
p = plt.figure(figsize=(12, 12))  # 设置画布
label= ['不及格', '及格', '良好', '优秀']
explode = [0.01,0.01,0.01,0.01]  # 设定各项离心n个半径
plt.pie(all_grade, explode=explode, labels=label, autopct='%1.1f%%', textprops={'fontsize': 15})  # 绘制饼图
plt.title('学生考试总成绩的总体分布情况饼图', fontsize=20)
plt.savefig('../tmp/学生考试总成绩的总体分布情况饼图.png')
plt.show()

(3)提取学生3项单科成绩的数据,绘制学生各项考试成绩分散情况箱线图。

# (3)提取学生3项单科成绩的数据,绘制学生各项考试成绩分散箱图
math_grade = data['数学成绩']
read_grade = data['阅读成绩']
write_grade = data['写作成绩']
p = plt.figure(figsize=(12, 8))
label= ['数学成绩','阅读成绩','写作成绩']
gdp = (list(math_grade),list(read_grade),list(write_grade))
plt.boxplot(gdp,notch=True,labels=label, meanline=True)  # 绘制箱线图
plt.xlabel('学生考试科目')
plt.ylabel('学生考试分数')
plt.title('学生各项考试成绩分散箱线图', fontsize=20)
plt.savefig('../tmp/学生各项考试成绩的总体分散情况箱线图.png')
plt.show()

(4)分析学生考试总成绩的分布情况和3项单科成绩的分散情况。

# (4)分析学生考试总成绩的分布情况和3项单科成绩的分散情况
p = plt.figure(figsize=(12, 8))
label= ['总成绩']
gdp = (list(sum_grade))
plt.boxplot(gdp,notch=True,labels=label, meanline=True)  # 绘制箱线图
plt.ylabel('学生考试总分数')
plt.title('学生考试总成绩的总体分散情况箱线图', fontsize=20)
plt.savefig('../tmp/学生考试总成绩的总体分散情况箱线图.png')
plt.show()

实训2分析学生考试成绩与各个特征之间的关系

1.训练要点

(1)掌握子图的绘制方法。
(2)掌握柱形图的绘制方法。
(3)掌握NumPy库中相关函数的使用方法。

2.需求说明

为了了解学生自我效能感、考试课程准备情况这两个特征与总成绩之间是否存在某些关系,基于实训1的数据,对这两个特征下不同值所对应的学生总成绩求均值,绘制柱形图分别查看自我效能感、考试课程准备情况与总成绩的关系,并对结果进行分析。

3.实现步骤

(1)创建画布,并添加子图。

# 实训2 分析学生考试成绩与各个特征之间的关系
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
data = pd.read_excel('../data/student_grade.xlsx')  
data
from sklearn import metrics
import warnings
warnings.filterwarnings("ignore")
# (1)创建画布,并添加子图
p = plt.figure(figsize=(26, 26),dpi=80) #设置画布

(2)使用NumPy库中的均值函数求学生自我效能感、考试课程准备情况两个特征下对应学生总成绩的均值。

# (2)使用numpy库中的均值函数求学生自我效能感、考试课程准备情况两个特征下对应学生总成绩均值
my_fell_group=data[['自我效能感','总成绩']].groupby(by='自我效能感')
preparation_group=data[['考试课程准备情况','总成绩']].groupby(by='考试课程准备情况')
# print(my_fell_group.apply(np.mean))
# print(preparation_group.apply(np.mean))
my_fell_mean=my_fell_group.apply(np.mean)
print(my_fell_mean)
preparation_mean=preparation_group.apply(np.mean)
print(preparation_mean)

(3)在子图上绘制对应内容的柱形图。

# (3)在子图上绘制对应内容的柱形图
# 子图1
ax1 = plt.subplot(2,1,1) 
plt.bar(x=my_fell_mean.index,height=my_fell_mean.values, width=0.5)  # 绘制直方图
plt.xlabel('自我效能感')
plt.ylabel('学生平均考试总成绩')
plt.title('学生平均考试总成绩与自我效能感关系直方图')
# 子图2
ax2 = plt.subplot(2,1,2) 
plt.bar(x=preparation_mean.index,height=preparation_mean.values, width=0.5)  # 绘制直方图
plt.xlabel('考试课程准备情况')
plt.ylabel('学生平均考试总成绩')
plt.title('学生平均考试总成绩与考试课程准备情况关系直方图')
plt.tight_layout()
plt.savefig('../tmp/学生考试总成绩与各个特征关系图.png')
plt.show()

(4)分析两个特征与考试总成绩的关系。

实训3分析各空气质量指数之间的相关关系

1.训练要点

(1)掌握分类散点图的绘制方法。
(2)掌握线性回归拟合图的绘制方法。
(3)掌握热力图的绘制方法。

2.需求说明

“推动绿色发展,促进人与自然和谐共生”是人类共同的责任。近年来,我国生态环境得到显著改善。2021年全国地级及以上城市细颗粒物(PM2.5)平均浓度比2015年下降了34.8%。空气质量指数(AirQuality Index,AQI)是能够对空气质量进行定量描述的数据。空气质量(Air quality)反映了空气污染程度,它是依据空气中污染物浓度来判断的。空气污染是一个复杂的现象,空气污染物浓度受到许多因素影响。
某市2020年1月-9月AQI的部分数据如表5-41所示。
在这里插入图片描述本实训将基于表5-41所示的数据绘制分类散点图、回归拟合图,分析PM2.5浓度与 AQI的关系,以及AQI的分类情况。同时绘制热力图,分析各空气质量指标与AQI的相关性。

3.实现步骤

(1)使用pandas 库读取某市2020年1月一9月AQI统计数据。

#分析各空气质量指数之间的相关关系
import matplotlib.pyplot as plt
import pandas as pd# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文显示问题-设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
# 忽略警告
import warnings
warnings.filterwarnings('ignore')
import seaborn as sns
# 读取数据
data = pd.read_csv('../data/aqi.csv')
data

(2)解决中文显示问题,设置字体为黑体,并解决保存图像时负号“-”显示为方块的问题。

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文显示问题-设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

(3)绘制质量等级分类散点图。

# --------------------绘制空气质量等级分类图--------------------
with sns.axes_style('whitegrid'):sns.stripplot(x=data['质量等级'])
ax = sns.stripplot(x='质量等级', y='AQI', data=data, jitter=True)
ax.set_title('2020年芜湖市空气质量等级分类图')
plt.show()

(4)绘制PM2.5浓度与AQI线性回归拟合图。

# --------------------绘制AQI与PM2.5线性回归拟合图--------------------
ax = sns.regplot(x='PM2.5含量(ppm)', y='AQI', data=data)
ax.set_title('2020年芜湖市空气质量指数PM2.5与AQI回归拟合图')
plt.show()

(5)计算相关系数。

# 计算相关系数
corr = data[['AQI', 'PM2.5含量(ppm)', 'PM10含量(ppm)', 'SO2含量(ppm)', 'CO含量(ppm)', 'NO2含量(ppm)', 'O3_8h含量(ppm)']].corr()
# print("AQI与其他因素的相关系数如下:\n", corr)

(6)绘制空气质量特征相关性热力图。

# --------------------绘制特征相关性热力图--------------------
ax = sns.heatmap(corr, annot=True)
ax.set_title('2020年芜湖市空气质量特征相关性热力图')
plt.show()

实训4绘制交互式基础图形

1.训练要点

(1)掌握漏斗图的绘制方法。
(2)掌握词云图的绘制方法。

2.需求说明

某商场在不同地点投放了5台自动售货机,编号分别为A、B、C、D、E,同时记录了2017年6月每台自动售货机的商品销售数据。为了了解各商品的销售情况,以二级类别进行分类,统计排名前5的商品类别销售额,并绘制漏斗图,同时根据商品销售数量、商品名称绘制词云图。

3.实现步骤

(1)获取商品销售数据。

# 绘制交互式基础图形---竞赛题
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 解决中文显示问题-设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
# 忽略警告
import warnings
warnings.filterwarnings('ignore')
import seaborn as sns
# (1)获取商品销售数据
data = pd.read_csv('../data/product_sale.csv',encoding='gbk')
data

(2)按照二级类别统计商品类别销售额。

# (2)按照二级类别统计销售额
second_group=data[['二级类','实际金额']].groupby(by='二级类')
second_group_sum=second_group.sum()
second_group_sum

(3)统计商品销售数量。

# 统计销售数量
state=data['提现']
count=0
for i in range(data.shape[0]):if state[i]=='已提现':count+=1
count

(4)设置系列配置项和全局配置项,绘制销售额前5的商品类别漏斗图。

data1 = data.groupby('商品').count()[['实际金额']]
data1.rename(columns = {'实际金额':'商品销量'}, inplace=True)
data1.sort_values(by=['商品销量'], ascending=False, inplace=True, na_position='first')
m=data1[0:5]
m
from pyecharts import options as opts
from pyecharts.charts import Funnel
# 绘制漏斗图
x_data = m.index.tolist()
y_data = m['商品销量'].tolist()
data2 = [[x_data[i], y_data[i]] for i in range(len(x_data))]
funnel = (Funnel().add('', data_pair=data2,label_opts=opts.LabelOpts(position='inside', formatter='{b}:{d}%'), gap=2, tooltip_opts=opts.TooltipOpts(trigger='item'), itemstyle_opts=opts.ItemStyleOpts(border_color='#fff', border_width=1)).set_global_opts(title_opts=opts.TitleOpts(title='销售额前5的商品类别漏斗图'), legend_opts=opts.LegendOpts(pos_left='40%')))
funnel.render_notebook()

(5)设置系列配置项和全局配置项,绘制商品销售数量和商品名称的词云图。

# 绘制词云图
from pyecharts.charts import WordCloud
c_data=data['商品'].value_counts()
words = list(c_data.index)
num = list(c_data.values)
data3 = [k for k in zip(words, num)]
data3 = [(i,str(j)) for i, j in data3]
wordcloud = (WordCloud().add(series_name=' ', data_pair=data3, word_size_range=[10, 100]).set_global_opts(title_opts=opts.TitleOpts(title='商品名称词云图', title_textstyle_opts=opts.TextStyleOpts(font_size=23)), tooltip_opts=opts.TooltipOpts(is_show=True)))
wordcloud.render_notebook()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com