大家好,我是楠少,用通俗易懂的方式,教小白学python。
今天,我们开始学习《30讲Python+Excel数据分析》课程的第12讲。
这一讲是介绍如何用Python代码给Excel画叠加水平柱状图的数据的功能。
你们可以想象这样一个场景,有一个表格,需要更直观地显示数据,这在Excel中很好操作,只需要插入图表即可,但是如果数据量很大的话,那在Python中该如何实现效率最高呢?
答案是,用Python支持的pandas和matplotlib库来实现。
所以,基于这个场景需求,我们团队就开发了用Python代码就能实现绘制excel叠加水平柱状图表然后对其进行操作的功能。
怎么样,是不是很好奇我们这个代码是如何写的呢?
别急,下面我们会给你娓娓道来。
01
虽然,我们这个功能的需求很好理解,就是实现绘制excel叠加水平柱状图表并对其进行操作的功能,但是关键是我们如何用Python代码来实现。
好吧,这里就不给大家卖关子了,我们直接看代码吧。
代码演示:
# 导入 pandas 模块并简称为 pd,pandas 是一个强大的数据分析工具
import pandas as pd
# 导入 matplotlib.pyplot 模块并简称为 plt,用于绘制图形
import matplotlib.pyplot as plt
# 使用 pandas 的 read_excel 函数读取 Excel 文件中的数据
# 文件路径是 "C:\Users\zzqyy\Desktop\Pandas玩转Excel\11叠加水平柱状图\example.xlsx"
# 这里的 r 是告诉 Python 这是一个原始字符串,避免路径中的反斜杠被误解为转义字符
example = pd.read_excel(r"C:\Users\zzqyy\Desktop\Pandas玩转Excel\11叠加水平柱状图\程序员晚枫.xlsx")
# 计算一个新的列 "Total",它是 "Oct"、"Nov" 和 "Dec" 三列的和
# 这样可以得到每个人在 10 月、11 月和 12 月的总行为次数
example["Total"] = example["Oct"] + example["Nov"] + example["Dec"]
# 按照 "Total" 列的值对数据进行排序,升序排列(默认是升序)
# inplace=True 表示直接在原数据上修改
example.sort_values(by="Total", inplace=True)
# 打印排序后的数据,方便查看
print(example)
# 使用 pandas 的 plot.barh 方法绘制水平柱状图
# x 参数指定 "Name" 列作为 x 轴标签(横轴)
# y 参数指定 ["Oct", "Nov", "Dec"] 列作为 y 轴的值(纵轴)
# stacked=True 表示将每个月的数据堆叠在一起,而不是并排放置
# title="User Behavior" 设置图形的标题为 "User Behavior"
example.plot.barh(x="Name", y=["Oct", "Nov", "Dec"], stacked=True, title="User Behavior")
# 调整图形的布局,使其更加紧凑,避免标签或标题被截断
plt.tight_layout()
# 显示图形
plt.show()
好的,通过代码演示和代码注释,我相信你一定已经学会了该如何使用我们这个脚本。
如果你还没有学会,那就照着我们的代码去手动敲一遍,感受一下敲代码的美妙,等你敲个几遍,相信你就一定能记住这几行代码了。
但是,这里我还是要提醒一下:
要想让这几行代码正常运行,你们需要把运行代码的环境给安装配置好。
不知道如何配置环境的可以看《30讲Python+Excel数据分析》的前面1讲内容,我们真的是手把手地教你如何配置环境的,相信我,一点都不难哈。
02
OK,到这里我要告诉大家的是,今天这篇文章教给大家的代码的视频讲解都在《30讲Python+Excel数据分析》这套课程的第12讲内容中了,对讲解视频感兴趣的可以去本套课程中学习一下。
这里不得不说的一点是,我们这个课程每一讲都是独立的案例场景讲解。
所以,你们完全可以根据自己的兴趣找到自己感兴趣的内容优先学习,这个不会影响学习效果的。
当然了,我们这门课程的每一节课都包含:视频、文档、代码、软件和答疑群。
所以你们完全不用担心学不会的问题,可以说,只要你认真跟着学习,认真练习敲代码,没有学不会的可能。
写在最后:
我们这套《30讲Python+Excel数据分析》课程具备以下2个特点:
第一,适合小白不需要学习复杂的编程知识,拿来就用。
第二,内容丰富,涵盖热门的数据分析的需求。
所以,如果你对这门《30讲PythonExcel数据分析》感兴趣,可以点击左边蓝字报名咨询。
如果你对这门课程还有想了解的,或者购买后有问题,可以加我微信咨询,nanshaoshixiong,备注888。
image.png
Pandas创建excel,1行代码就行
如何用Python读取Excel文件
如何用Python自动生成数据?