python学习第十四天(自用)
2026/6/4 19:19:48 网站建设 项目流程

饼状图

准备数据

设置传入参数,饼状图没有y轴,因此根据值的大小来区分,因此先传入值,再传入各个值所对应的名称

数据没显示,看不出来各个数据的比例,其中pie有个属性是autopct,显示占比数据

小数点前数字表示占位多少,不足的用空格补充,点后就是代表保留几位小数,f是float,因为我们想显示占比,所以结尾用%,但%在autopct里有特殊含义,因此要进行转义才行,所以用两个%括起来即可

提供图例

调整图例位置

保存图片方法

小结

数据分析实战案例

步骤

配置

创建子图并设置大标题,suptitle

获取各个子图

读取数据,发现年份是带小数点的

查看各列属性,发现年份这列是float64,这是由于年份这列有空值无法使用int64

但就想让其展示不带小数的内容,可以将类型转为Int64,Int64支持空值

需求一:根据年份查看电影数量变化

先对异常值、空值进行处理

发现年份这一列确实有空值,但不知道有多少

因此可以使用sum来进行统计,python中True是1,False是0,累加后就知道有多少个为空了

可以看到年份有两个是空的

处理缺失值,年份和上映时间的年份是相同的,因此可以将上映时间的年份赋值给年份

修改前

修改后

统计不同年份的电影数量

因为年份不是连续的,但显示我们希望它连续,因此直接获取最小值最大值得到一个连续的年份列表

Y的话是电影数量,因为会有年份没有电影,所以将其值默认为0,而series中有get方法,要是有对应的键就获取值,没有就填入默认值

绘制折线图

需求二,统计对比不同语言的电影数量(柱状图)

模板化,先分组,再取出x、y轴的数据,然后画出图像,这里让其从大到小排序

但会发现显示的文字都挤在一起了,因此需要修改一下

修改后

选中是x轴还是y轴,使其旋转90°

但会发现旋转后的数据把x的标签给盖住了,因此需要调整子图间的位置

调整子图间的位置

可以看到语言这一行展示出来了

需求三、统计对比不同类型电影数量(柱状图)

用空字典来存储数据,可以一一对应

遍历series并将该列以逗号进行分割,得到列表,遍历再得到其具体类型,然后判断该类型是否在字典中存储,若在就累加,若不在就创建并默认为1

取出键值对,键即为x轴,值为y轴

剩下进行模板化操作

画出图像

统计对比各个评分的电影数量占比(饼状图)

获取数据

获取索引和对应值

绘制饼状图并调整图例位置

优化:饼状图比例数据粘在一起,解决该问题

尝试调整大小

但发现治标不治本,因此尝试将内容少的进行合并操作,这样显示会更加清晰

将内容分为占比大的数据,和占比小的数据,小数据就进行合并

先获取总数据,便于计算比例

再获取各个评分电影的数量

数量大于整体的2%就认为是大数据

小数据就是小于2%

获取数据,有值就合并

获取数据列表

绘制饼状图

AI重构代码,将我们jupyter文件放到python文件中执行,将我们所编写的功能封装为函数来进行操作

直接让ai帮我们操作即可

成功运行

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询