2025.01.15python商业数据分析top3

devtools/2024/12/26 20:01:45/
import pandas as pd# 文件路径为python文件位置下的相对路径
dwx = pd.read_excel("电蚊香套装市场近三年交易额.xlsx", )
fmfz = pd.read_excel("防霉防蛀片市场近三年交易额.xlsx")
msmc = pd.read_excel("灭鼠杀虫剂市场近三年交易额.xlsx")
mz = pd.read_excel("盘香灭蟑香蚊香盘市场近三年交易额.xlsx")
wxq = pd.read_excel("蚊香加热器市场近三年交易额.xlsx")
wxp = pd.read_excel("蚊香片市场近三年交易额.xlsx")
wxy = pd.read_excel("蚊香液市场近三年交易额.xlsx")
# 使用head()方法查看前5行数据
print(dwx.head())
# 使用tail()方法查看后5行数据
print(dwx.tail())
# 使用info()方法查看数据的字段及类型
dwx.info()
# 用sum方法汇总数据
dwx_all = dwx['交易金额'].sum()  # 汇总单张表格数据
print(dwx_all)
fmfz_all = fmfz['交易金额'].sum()msmc_all = msmc['交易金额'].sum()
mz_all = mz['交易金额'].sum()
wxq_all = wxq['交易金额'].sum()
wxp_all = wxp['交易金额'].sum()
wxy_all = wxy['交易金额'].sum()
# 将7张表格的数据汇总并形成一张表
m_sum = pd.DataFrame(data=[dwx_all, fmfz_all, msmc_all, mz_all, wxq_all, wxp_all, wxy_all], columns=['销售额'],index=['电蚊香', '防霉防蛀', '灭鼠灭虫', '灭蟑', '蚊香加热器', '蚊香片', '蚊香液'])
m_sumtext = pd.DataFrame(data=[dwx_all, fmfz_all, msmc_all, mz_all, wxq_all, wxp_all, wxy_all], columns=['销售额'],index=['电蚊香', '防霉防蛀', '灭鼠灭虫', '灭蟑', '蚊香加热器', '蚊香片', '蚊香液'])
print(m_sum)
# 对上述数据进行行汇总,得到驱虫市场总规模
m_sum.loc['Row_sum'] = m_sum.apply(lambda x: x.sum())
m_sumtext.loc['Row_sum'] = m_sumtext.apply(lambda x: x.sum())
# 或者m_sum ['Col_sum'] = m_sum.sum()
print(m_sum)
# 在上一节的基础上计算相对规模
m_sum['份额占比'] = m_sum / m_sum.loc['Row_sum']
print(m_sum)
print("_____________________________")
# 将份额占比调整为百分比,保留1位小数m_sumtext['份额占比'] = round(m_sumtext / m_sumtext.loc['Row_sum'] * 100, 1)
# 并将最后一行Row_sum删除
m_sum.drop(labels=['Row_sum'], axis=0, inplace=True)# 首先导入matplotlib绘图包
import matplotlib.pyplot as plt# 设置参数,以确保图像正确显示
plt.rcParams['font.sans-serif'] = 'simhei'  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
# 将叶子行业的名称设置为x轴,叶子行业的绝对份额设置为y轴
x = m_sum.index.values.tolist()
y = m_sum["销售额"].values.tolist()
# 设置画布大小
pl = plt.figure(figsize=(8, 6))  # 表示图片的大小为宽8inch、高6inch(单位为inch)
# 绘制叶子市场绝对份额柱形图
plt.bar(x, y)
# 设置标题以及x轴标题,y轴标题
plt.xlabel('叶子市场')
plt.ylabel('市场绝对份额')
# 设置数字标签
for a, b in zip(x, y):plt.text(a, b + 0.05, '%.0f' % b, ha='center', va='bottom', fontsize=8)
plt.show()# 用市场相对份额绘制饼图
# 将叶子行业名称设置为饼图的标签,相对市场份额设置为饼图的大小
labels = m_sum.index.values.tolist()
sizes = m_sum["份额占比"].values.tolist()
# 设置画布大小宽8inch,高6inch
pl = plt.figure(figsize=(8, 6))
# 绘制饼图,autopct='%.1f%%':# 设置百分比的格式,此处保留1位小数,f后面的两个%表示实际显示数字的百分号,startangle=180# 设置饼图的初始角度。
plt.pie(sizes, labels=labels, autopct='%.1f%%', shadow=False, startangle=180)
# 设置标题
plt.title("叶子市场相对市场份额")
# 设置饼图使得饼图为圆形,如图4-2所示
plt.axis('equal')
plt.show()

http://www.ppmy.cn/devtools/145202.html

相关文章

《开启微服务之旅:Spring Boot 从入门到实践》(三)

自动配置原理 配置文件到底能写什么?怎么写?自动配置原理; https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#common-application-properties 自动配置原理 SpringBoot启动的时候加载主配置类,开启…

Flink 的并行度配置低于Kafka 分区数会出现的问题

在 Flink 中使用 Kafka 数据源时,设置的 Kafka 分区数 和 Flink 的并行度 会直接影响数据的处理方式。如果你的 Kafka 分区数大于 Flink 的并行度,可能会引发以下问题: 1. Kafka 分区与 Flink 任务不匹配 Flink 在读取 Kafka 数据时&#xf…

DevNow x Notion

前言 Notion 应该是目前用户量比较大的一个在线笔记软件,它的文档系统也非常完善,支持多种文档格式,如 Markdown、富文本、表格、公式等。 早期我也用过一段时间,后来有点不习惯,就换到了 Obsidian ,但是…

Pr:音频仪表

Pr菜单:窗口/音频仪表 Window/Audio Meter 音频仪表 Audio Meter(也称为“音量指示器”)用于实时监控音频信号的电平和动态范围,帮助用户确保音频质量符合标准,防止失真和超载。 1、基本功能 (1&#xff09…

Linux:VMware启动报错禁用 Device/Credential Guard的方法

目录 1、概述2、解决方案 1、概述 提示Vmware与DeviceCredential Guard不兼容,需要禁用Device/Credential Guard就可以运行Vmware,按照一般方法找不到直接关闭的入口,报错如图 2、解决方案 修改注册表,找到HKEY_LOCAL_MACHINE \ …

人工智能与机器学习:真实案例分析及其在各行业的应用前景

引言 随着科技的不断进步,人工智能(AI)与机器学习(ML)正成为各行各业的核心驱动力。从智能助手到自动驾驶汽车,这项技术正在重新定义我们的生活与工作方式。AI与ML不仅改变了企业的运营模式,还提…

代码随想录 day50 第十一章 图论part01

第十一章:图论part01 图论理论基础 大家可以在看图论理论基础的时候,很多内容 看不懂,例如也不知道 看完之后 还是不知道 邻接矩阵,邻接表怎么用, 别着急。 理论基础大家先对各个概念有个印象就好,后面在…

【JavaEE进阶】@RequestMapping注解

目录 📕前言 🌴项目准备 🌲建立连接 🚩RequestMapping注解 🚩RequestMapping 注解介绍 🎄RequestMapping是GET还是POST请求? 🚩通过Fiddler查看 🚩Postman查看 …