2025.01.15python商业数据分析top2
一、 导入项目
导入项目、准备项目数据
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)# 先使用head()和tail()方法观察数据d.head()d.tail()# 补齐缺失月份数据# 预测一个叶子行业的12月数据# 索引2017年12月分数据t17=d.where(d.时间=='2017-12-1').dropna()# 同理将2016年12月和2015年12月的数据也索引出来t16=d.where(d.时间=='2016-12-1').dropna()t15=d.where(d.时间=='2015-12-1').dropna()# 将2015年,2016年,2017年三年的数据合并t4=pd.concat([t17,t16,t15])# 由于我们的目的是用2015-2017年3年的12月份数据来进行回归建模,预测2018年12月数据# 因此,此处我们选用2015,2016,2017作为x变量,每一年12月份的数据作为y变量y=t4.drop('时间',axis=1)# 设置x轴的年份。x=[2017,2016,2015]# 使用回归算法预测,先加载numpy和sklearn库。
# 使用回归算法预测,先加载numpy和sklearn库。import numpy as npfrom sklearn import linear_model# 将数据处理成回归模型所需要的形式。x_train=np.array(x).reshape(-1,1)y_train=np.array(y.iloc[:,0])# 将线性模型实例化。linear_reg=linear_model.LinearRegression()# 训练模型。linear_reg.fit(x_train,y_train)# 输入自变量2018,预测2018年12月份的销售额。y_2018_12=linear_reg.predict(np.array([2018]).reshape(-1,1)).round(1)# 输出预测结果。print(y_2018_12[0])# 当一个动作有规律的出现3次或以上,肯定有一个办法可以更高效便捷。# 用循环预测所有叶子行业的12月数据# 写FOR循环,得到2018年所有类目12月份的预测值。y_12=[]for i in range(7):y_train=np.array(y.iloc[:,i])linear_reg=linear_model.LinearRegression()linear_reg.fit(x_train,y_train)y_pre=linear_reg.predict(np.array([2018]).reshape(-1,1)).round(1)y_12.append(y_pre[0])# 打印2018年个叶子行业12月份的预测结果。print(y_12)
四、 整理集数据绘制趋势图
索引数据、汇总数据、绘制各个子行业市场趋势图
# 重置索引。d.reset_index(inplace=True)# 由于“index”列没有作用,可以删除。del d['index']# 查看数据结果。print(d.head())# 汇总每一个月份的类目市场数据d2=d.drop('时间',axis=1)d['col_sum']=d2.apply(lambda x:x.sum(),axis=1)# 提取日期的年份。d['year']=d.时间.apply(lambda x: x.year)# 按年份汇总数据。data_sum=d.groupby('year').sum()print(data_sum)
# 绘制各个叶子市场的趋势图with plt.style.context('ggplot'):# 设置画布大小宽8inch,高6inch。pl=plt.figure(figsize=(8,6))# 绘制各叶子行业市场趋势线图。plt.plot(x,data_sum.iloc[:,0])plt.plot(x,data_sum.iloc[:,1])plt.plot(x,data_sum.iloc[:,2])# 设置数字标签。for a,b in zip(x,data_sum.iloc[:,2]):plt.text(a,b+0.05,'%.0f'% b,ha='center',va='bottom',fontsize=8)plt.plot(x,data_sum.iloc[:,3])plt.plot(x,data_sum.iloc[:,4])plt.plot(x,data_sum.iloc[:,5])plt.plot(x,data_sum.iloc[:,6])# 设置数字标签。for a,b in zip(x,data_sum.iloc[:,6]):plt.text(a,b+0.05,'%.0f'% b,ha='center',va='bottom',fontsize=8)# 设置图的标题,x轴标题,y轴标题,设置刻度线格式。plt.title('近三年驱虫市场各子市场容量趋势')plt.xlabel('year')plt.ylabel('交易额')plt.xticks(x,year,fontsize=9,rotation=45)# 设置图例,并画图,如图4-4所示。plt.legend(['电蚊香','防霉防蛀','灭鼠灭虫','灭蟑','蚊香加热器','蚊香片','蚊香液'])plt.show()
提交说明
(请注意以下说明,否则将会影响自己的最终成绩)
1、将所有Python文件压缩之后进行提交,命名为【学号姓名】。压缩包使用zip或rar格式均可。
2、将压缩包提交至对应班级的文件夹下,未上交、上交文件夹错误按0分处理。
相关文章:
2025.01.15python商业数据分析top2
一、 导入项目 导入项目、准备项目数据 import pandas as pd# 文件路径为python文件位置下的相对路径dwxpd.read_excel("电蚊香套装市场近三年交易额.xlsx") fmfzpd.read_excel("防霉防蛀片市场近三年交易额.xlsx") msmcpd.read_excel("灭鼠杀虫剂市…...
信息系统项目管理-绩效考核
1.1.组织战略 组织的产品和服务战略的类型通常可以分为:技术密集型、()、目标动态型。 A市场导向型 B成本导向型 C人力密集型 D产品导向型 答案B 在组织的四项基本能力中,建立战略性奖励措施,根据员工对组织的贡献&am…...
【Linux】数据呈现
一、数据的输入与输出 1、标准文件描述符 Linux系统会将每个对象都当做文件来处理,包括输入和输出。它用文件描述符来标识每个文件对象。 文件描述符是一个非负整数,唯一会标识的是会话中打开的文件。每个进程一次最多可以打开9个文件描述符。bash sh…...
oracle 加字段和字段注释 sql
在 Oracle 数据库中,你可以使用 ALTER TABLE 语句来添加字段,并使用 COMMENT ON COLUMN 语句来添加字段注释。以下是一个示例: 假设你有一个名为 employees 的表,你想要添加一个名为 email 的字段,并为其添加注释。 …...

计算机网络压缩版
计算机网络到现在零零散散也算过了三遍,一些协议大概了解,但总是模模糊糊的印象,现在把自己的整体认识总结一下,(本来想去起名叫《看这一篇就够了》,但是发现网上好的文章太多了,还是看这篇吧&a…...
一文了解 gis 相关服务=》及前端地图服务相关总结
文章目录 概要OGC技术名词解释cesium 应用案例openlayers 中应用实例XYZ服务OSM服务WMS服务WMTS服务WFS服务 mapbox 应用实例矢量瓦片服务栅格瓦片服务WMS服务WFS服务 leaflet 中 地图服务实例加载OpenStreetMap瓦片图层加载自定义XYZ瓦片图层加载WMS服务图层加载WFS服务图层加…...
Brocade G610 配置
配置流程 zone创建–>cfg创建–>ip配置–>cfg启动并保存 查看端口信息 G610:admin> switchshow switchName: G610 switchType: 170.5 switchState: Online switchMode: Native switchRole: Principal switchDomain: 1 switchId: ff…...
DuetWebControl 开源项目常见问题解决方案
DuetWebControl 开源项目常见问题解决方案 DuetWebControl A completely new web interface for the Duet electronics [这里是图片001] 项目地址: https://gitcode.com/gh_mirrors/du/DuetWebControl 一、项目基础介绍 DuetWebControl 是一个为 RepRapFirmware 设计的完全响…...

亚信安全举办“判大势 悟思想 强实践”主题党日活动
为深入学习和贯彻党的二十届三中全会精神,近日,亚信安全举办了 “学习贯彻党的二十届三中全会精神——‘判大势 悟思想 强实践’党日活动”,并取得圆满成功。 本次活动特邀南京市委宣讲团成员、南京市委党校市情研究中心主任王辉龙教授出席。…...

Go怎么做性能优化工具篇之基准测试
一、什么是基准测试(Benchmark) 在 Go 中,基准测试是通过创建以 Benchmark 开头的函数,并接收一个 *testing.B 类型的参数来实现的。testing.B 提供了控制基准测试执行的接口,比如设置测试执行的次数、记录每次执行的…...

vue3国际化,主题切换
国际化 安装依赖 pnpm install i18n pnpm install vue-i18n main.js import { createApp } from vue import App from ./App.vue import { i18n } from /i18n/index; const app createApp(App) app.use(i18n); app.mount(#app) 根目录创建i18n文件夹,创建3个文件&…...

Linux Shell 脚本编程基础
打开kali,Xshell连接 一、 vim 1.sh 可利用 #! /bin/bash, #! /bin/dash ,#! bin/sh 这三种脚本解释器不论哪种,最终都是调用 dash 在1.sh内加入内容,尝试执行,./1.sh,但需要加权 或者,在不使用加权的情…...
vuex如何进行状态管理?
**Vuex:是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据共享。** (1) 如果是Vue2的环境,不能使用vuex4的版本,所以我们需要安装vuex3以下的版本安装。 创建项目:vue crea…...

嵌入式Linux QT+OpenCV基于人脸识别的考勤系统 项目
此项目是基于人脸识别的考勤系统开发,包括如下模块: 1、人脸识别考勤系统GUI界面设计,包括: (1)Qt环境(window环境/linux环境) ; (2)Qt工程创建分析; &am…...

通过阿里云 Milvus 与 PAI 搭建高效的检索增强对话系统
背景介绍 阿里云向量检索服务Milvus版(简称阿里云Milvus)是一款云上全托管服务,确保了了与开源Milvus的100%兼容性,并支持无缝迁移。在开源版本的基础上增强了可扩展性,能提供大规模 AI 向量数据的相似性检索服务。相…...

评估大语言模型在药物基因组学问答任务中的表现:PGxQA
这篇文献主要介绍了一个名为PGxQA的资源,用于评估大语言模型(LLM)在药物基因组学问答任务中的表现。 研究背景 药物基因组学(Pharmacogenomics, PGx)是精准医学中最有前景的领域之一,通过基因指导的治疗…...

在本地和远程转储域控制器哈希
更多内网知识课前往无问社区查看http://www.wwlib.cn 无凭据 - ntdsutil 如果您没有凭据,但有权访问 DC,则可以使用 lolbin ntdsutil.exe转储 ntds.dit: powershell "ntdsutil.exe ac i ntds ifm create full c:\temp q q" 我们…...

基于SSM+Vue的心理咨询问诊系统+LW示例参考
1.项目介绍 项目角色:管理员、患者(普通用户)、医师项目模块:医生管理、患者管理、科室管理、咨询管理、预约管理、急救知识、患者病历等测试环境:idea2024、tomcat8.5、maven3、jdk8、nodeV14.16.1、mysql5.7技术栈&…...

基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发
本部分开始基于《手把手教你学DSP—基于TMS320X281X》,《手把手教你DSP基于MS320F28335 》、《TMS320X281x DSP原理及C程序开发》,另外结合B站视频进行DSP嵌入式的学习。 《手把手教你学DSP—基于TMS320X281X》介绍的相对更为基础和详细,《手…...
Java爬虫获取1688 item_search_img接口详细解析
概述 1688作为中国领先的B2B电商平台,提供了丰富的API接口供开发者获取商品信息。item_search_img接口允许通过图片搜索商品,这对于需要基于图片进行商品查找的应用场景非常有用。本文将详细介绍如何使用Java爬虫技术获取1688的item_search_img接口数据…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...

理想汽车5月交付40856辆,同比增长16.7%
6月1日,理想汽车官方宣布,5月交付新车40856辆,同比增长16.7%。截至2025年5月31日,理想汽车历史累计交付量为1301531辆。 官方表示,理想L系列智能焕新版在5月正式发布,全系产品力有显著的提升,每…...