2025.01.15python商业数据分析top3

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.mzph.cn/news/890196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题

配置一下apache里面的配置文件:httpd.conf 和 httpd.vhosts.conf httpd.conf httpd-vhosts.conf 重启服务 展示: 浏览器中中文乱码问题:

golang异常

panic如果不处理会导致应用进程挂掉 defer recover可以处理这种情况 一个recover只处理自己协程 产生panic的情况 空指针 数组越界 空map中添加键值对 错误,error接口,不严重 error.wrapof解决嵌套问题或者error.unwrap erroe.is方法,判断是…

redis库基础知识

redis库 Redis 是一个开源的内存数据库,提供了丰富的方法和命令来操作和管理数据库中的数据。下面是 Redis 库中一些常用的方法的介绍: set(key, value): 设置指定键的值get(key): 获取指定键的值delete(key): 删除指定的键和对应的值exists(key): 判断…

git 删除鉴权缓存及账号信息

在Windows系统下 清除凭证管理器中的Git凭据 按下Win R键,打开“运行”对话框,输入control,然后回车,打开控制面板。在控制面板中找到“用户账户”,然后点击“凭据管理器”。在凭据管理器中,找到“Windows…

MacOS下PostIn安装配置指南

PostIn是一款开源免费的接口管理工具, 下面介绍私有部署版本的MacOS下安装与配置。私有部署版本更适合有严格数据安全要求的企业,实现对数据和系统的完全控制。   1、MacOS服务端安装 Mac安装包下载地址:下载Mac安…

最适合智能体的身份认证技术:对比OpenID Connect、API keys、did:wba

最适合智能体的身份认证技术:对比OpenID Connect、API keys、did:wba 智能体需要新的身份认证技术 智能体对身份认证技术提出了新的需求,其中最重要的一个就是互联互通,特别是让任意两个智能体都能够互联互通。 其中的原理很简单:…

排序算法(7):堆排序

问题 排序 [30, 24, 5, 58, 18, 36, 12, 42, 39] 堆排序 堆排序是一种基于堆数据结构的排序算法。堆是一个近似完全二叉树的结构,即除了最后一层外,每一层都必须填满,且最后一层从左往右填充。 堆可以分为大根堆和小根堆。在大根堆中&…

【余弦相似度】是否需要做归一化

各种标签的向量,做 加权计算后得到一个综合向量,计算余弦相似度之前,可选的,做一个归一化:aggregated_vector /= np.linalg.norm(aggregated_vector)这段代码实现的是 归一化 操作,具体来说,它使用了 L2 范数 来归一化 aggregated_vector 向量。归一化的目的 归一化是为…

多核CPU调度是咋搞的?

其实很多情况下都有 这样的疑问 为什么多核CPU用着用着会“躺平”? 为什么手机有 8 核,跑分时性能却不是核心数的翻倍? 答案的钥匙,就藏在多核CPU的调度机制里。 为了更直观地理解,以一个《王者荣耀》游戏服务器为例…

Qt Quick:CheckBox 复选框

复选框不止选中和未选中2种状态哦,它还有1种部分选中的状态。这3种状态都是Qt自带的,如果想让复选框有部分选中这个状态,需要将三态属性(tristate)设为true。 未选中的状态值为0,部分选中是1,选…

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件,并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…

【信息系统项目管理师】高分论文:论信息系统项目的进度管理(一体化智能公共数据平台)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划进度管理2、定义活动3、排列活动顺序5、制定进度计划6、控制进度论文 2022年9月,我作为项目经理参加了XX市的一体化智能公共数据平台项目的建设工作,2022年是XX市政府数字化改革的元年,全市上下…

Docker 设置代理的三种方法(2024年12月19日亲自测试)

Docker 设置代理的三种方法 在 Docker 中设置代理是非常常见的需求,尤其是在某些需要通过代理访问外部资源的网络环境下。本文将介绍三种配置 Docker 使用代理的常见方法:通过 daemon.json 配置镜像加速器、通过 daemon.json 配置 HTTP/HTTPS 代理、以及…

【docker】如何打包前端并运行

前端使用 Vue 3 Vite 1.use npm run preview 运行 0.项目根目录下新建.env文件 VITE_BASE_API_prodhttp://127.0.0.1:5000/api # 线上环境 VITE_MOCK_API_prodapi # 本地模拟数据 VITE_BASE_API_devhttp://127.0.0.1:5000/ap…

【mysql】1205 -Lock wait timeout exceeded; try restarting transaction

问题: mysql8执行SQL提示下面错误: 1205 -Lock wait timeout exceeded; try restarting transaction 1205-超过锁定等待超时;尝试重新启动事务 可能的原因: 事务冲突:多个事务同时尝试修改同一行数据,导…

android 登录界面编写

1、登录页面实现内容 1.实现使用两个EditText输入框输入用户名和密码。 2.使用CheckBox控件记住密码功能。 3.登录时候,验证用户名和密码是否为空。 4.当前CheckBox控件记住密码勾上时,使用SharedPreferences存储用户名和密码。 5.登录时候使用Prog…

LDP+LBP代码解析及应用场景分析

代码整体结构与功能概述 这段 C 代码主要实现了两个图像特征提取算法,分别是局部方向模式(Local Directional Pattern,LDP)和多分块局部二值模式(Multi-Block Local Binary Pattern,Multi-Block LBP&#…

Nuxt样式文件导入

1.在Nuxt导入样式文件的方式 在nuxt中,支持两种样式文件导入的配置。如下: 通过配置文件的css属性指定文件路径。该属性可以支持一个字符串数组,每一项为一个样式文件路径。例如: export default defineNuxtConfig({compatibili…

单元测试使用记录

什么是单元测试 简单来说就是对一个类中的方法进行测试,对输出的结果检查判断是否符合预期结果 但是在多年的工作中,从来没有哪个项目中真正系统的用到了单元测试,因此对它还是很陌生的,也就造成更加不会在项目中区使用它。 如何…

将4G太阳能无线监控的视频接入电子监控大屏,要考虑哪些方面?

随着科技的飞速发展,4G太阳能无线监控系统以其独特的优势在远程监控领域脱颖而出。这种系统结合了太阳能供电的环保特性和4G无线传输的便捷性,为各种环境尤其是无电或电网不稳定的地区提供了一种高效、可靠的视频监控解决方案。将这些视频流接入大屏显示…