[数据分析实例2]使用python-pandas对历届世界杯进行数据分析,并用matplotlib绘图,干货满满,赶紧收藏学习起来!

目录

前言

三、分析数据

3.1用 matplotlib 库中的 pyplot 模块来绘制图表。

从以上数据我们可以看出:

1.主场球队获胜概率远大于客场队

2.主队进球的平均水平从箱线图看来整体也高于客队

统计了世界杯开始到14年观众的总数得出结论:

民众对于世界杯的热情呈明显上升趋势

1994年美国世界观众数量历史最高

分组计算出了上下半场的得分情况,然后使用堆叠柱状图展示。得到以下结论:

二战后的2届世界杯进球数量同比增多了不少,应该是热情更高涨了。

近代02-10年球队疲软了进球数量和80年代差不多

下半场进球数量的比例明显高于上半场

 matplotlib小结:

按由大到小排列

画板figure

subplot绘制子图

figure,subplot实例:

图表类型:

1.bar:柱状图

2.plot:折线图

3.scatter:散点图

4.pie:饼图

5.boxplot:箱线图

其余标记

title:图表标题

xlabel:x轴标题

ylabel:y轴标题

xlim:x轴最大刻度

ylim:y轴最大刻度

xticks;x轴刻度可以设置旋转角度

yticks;y轴刻度可以设置旋转角度

gird:网格线

可以使用for循环获取数值的坐标来做表格数据的标记:


前言

此篇为前一篇续集,前面用pandas对世界杯数据做了深入的分析,不过肯定是可视化的图会让人更容易理解一些,所以我们今天会用到绘图神器matplotlib,对数据分析感兴趣的小伙伴千万别错过啊,如果想看上一集,请点下面的链接:

[数据分析实例1]使用python-pandas对历届世界杯进行数据分析,并用matplotlib绘图,我不允许你还没学过!https://blog.csdn.net/m0_59541412/article/details/130864289


三、分析数据

3.1用 matplotlib 库中的 pyplot 模块来绘制图表。

1.通过 plt.rcParams 来设置默认字体为中文字体 'SimHei'黑体,这里中文字体一定要设置,否则中文将不能正确显示。

2.使用 plt.figure() 函数创建一个名为 'Subplot' 的窗口,并设置其背景颜色为浅灰色,分辨率为150dpi。

3.在第一个子图中,使用 plt.subplot() 函数创建一个大小为 2×2 的子图区域,并指定绘制位置为第 1 个位置。然后根据数据 data 绘制柱状图,设置 x 轴和 y 轴标签、标题、y 轴范围、网格线等内容。并使用 plt.bar() 函数绘制柱状图,同时为每个柱子添加文本标签(数字)。最后使用 plt.legend() 函数显示图例。

4.在第二个子图中,使用 plt.subplot() 函数创建一个大小为 2×2 的子图区域,并指定绘制位置为第 2 个位置。然后根据 matches 中的数据绘制两组箱线图,可以分别得到主队和客队在主客场比赛中得分情况,并设置 x 轴和 y 轴标签、标题、y 轴范围、网格线等内容。

5.使用 plt.tight_layout() 函数进行布局调整,以确保图表元素之间的间距合适,并使用 plt.show() 函数显示图表。

 figure函数定义画板样式(背景颜色,大小)

subplot函数可以设定有多少个子图

grid可以制作网格

从以上数据我们可以看出:

1.主场球队获胜概率远大于客场队

2.主队进球的平均水平从箱线图看来整体也高于客队

yearDF = matches.groupby('Year').sum(numeric_only=True)
yearDF = yearDF.reset_index()
yearDF.head()

1.对 matches 按照年份进行分组,并计算得出每个年份的比赛总得分,numeric_only=True 参数表示仅对数值类型的列进行求和,避免了警告信息。

2.使用 reset_index() 函数将 Year 列变回普通列,并重置索引。

x = yearDF['Year']                                   
y = yearDF['Attendance']/ 10000
plt.figure('bar', facecolor = 'lightgray', dpi = 120)
plt.title('观众总数')                                
plt.xlabel('年份')                                   
plt.ylabel('观众人数(万)')
plt.grid(axis = 'y', linestyle = ':')             
plt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布丁_码到成功

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值