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月数据

# 索引201712月分数据

t17=d.where(d.时间=='2017-12-1').dropna()

# 同理将201612月和201512月的数据也索引出来

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-20173年的12月份数据来进行回归建模,预测201812月数据

# 因此,此处我们选用2015,2016,2017作为x变量,每一年12月份的数据作为y变量

y=t4.drop('时间',axis=1)

# 设置x轴的年份。

x=[2017,2016,2015]

# 使用回归算法预测,先加载numpysklearn库。
 
# 使用回归算法预测,先加载numpysklearn库。

import numpy as np

from 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,预测201812月份的销售额。

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分处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/939928.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Restaurants WebAPI(一)—— clean architecture

文章目录 项目地址一、Restaurants.Domain 核心业务层1.1 Entities实体层1.2 Repositories 数据操作EF的接口二、Restaurants.Infrastructure 基础设施层2.1 Persistence 数据EF CORE配置2.2 Repositories 数据查询实现2.3 Extensions 服务注册三、Restaurants.Application用例…

全栈开发----Mysql基本配置与使用

本篇是在已下载Mysql的情况下进行的,若还未下载或未创建Mysql服务,请转到这篇: 2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)_mysql8.0.40下载安装教程-CSDN博客 本文对于mysql的操作均使用控制台sql原生代码…

AI可信论坛亮点:合合信息分享视觉内容安全技术前沿

前言 在当今科技迅猛发展的时代,人工智能(AI)技术正以前所未有的速度改变着我们的生活与工作方式。作为AI领域的重要盛会,CSIG青年科学家会议AI可信论坛汇聚了众多青年科学家与业界精英,共同探讨AI技术的最新进展、挑…

逆变器中自举电路设计要点及其取值分析

自举电源具有电路简单,成本低等优点。可以减小变压器尺寸,可以使用较小的磁芯骨架即可满足整机对电源的需求。不过其也有不足之处,比如只能用于小功率设计(驱动器已验证到11KW50A模块的驱动设计),对输出响应…

如何测量分辨率

一、什么是分辨率? 分辨率指的是分清物体细节的能力。分辨率是一个成像系统还原空间频率的能力。一些人只是简单的用分辨率去描述极限分辨率,但是相机在在不同的对比度的情况下还原低,中和高频率的能力,也可以显示全面综合的信息。…

springboot中——Logback介绍

程序中的日志&#xff0c;是用来记录应用程序的运行信息、状态信息、错误信息等。 Logback基本使用 springboot的依赖自动传递了logback的依赖&#xff0c;所以不用再引入依赖 之后在resources文件下创建logback.xml文件&#xff0c;写入 <?xml version"1.0" …

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

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

Apache Solr RCE(CVE-2017-12629)--vulhub

Apache Solr 远程命令执行漏洞&#xff08;CVE-2017-12629&#xff09; Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发&#xff0c;主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个…

vue预览和下载 pdf、ppt、word、excel文档,文件类型为链接或者base64格式或者文件流,

** 方法1&#xff1a;word、xls、ppt、pdf 这些文件&#xff0c; 如果预览的文件是链接可以直接打开&#xff0c;可用微软官方的预览地址 ** <iframe width"100%" :src"textVisibleURl " id"myFramePPT" style"border: none;backgroun…

Postbot使用教程

1.什么是Postbot&#xff1f; Postbot 是 Postman 中 API 工作流的 AI 助手。您可以让 Postbot 帮助您排查 API 请求问题、编写测试脚本和文档以及理解大型数据集。如果您需要有关使用 Postman 的帮助或不确定下一步该怎么做&#xff0c;也可以向 Postbot 询问。 2.开始使用 …

考试报名管理系统

集中实践报告 ---《项目综合实习1(数据结构)》 题目:考试报名管理系统 系统设计与开发 摘 要 随着教育信息化的不断推进,考试报名管理系统在各类教育机构中的重要性日益凸显。本文旨在设计与实现一个高效、稳定且功能完备的考试报名管理系统,以满足现代教育考试的…

冬日养仓鼠小指南:温暖与陪伴同行

随着冬日的脚步悄然来临&#xff0c;家中可爱的小仓鼠也需要我们给予更多的关怀与呵护。仓鼠虽小&#xff0c;但它们的冬日养护却大有学问&#xff0c;关乎着这些小生命能否健康快乐地度过寒冷季节。 保暖是冬季养仓鼠的首要任务。我们可以为仓鼠的小窝增添一些保暖材料&#…

用C#(.NET8)开发一个NTP(SNTP)服务

完整源码&#xff0c;附工程下载&#xff0c;工程其实也就下面两个代码。 想在不能上网的服务器局域网中部署一个时间服务NTP&#xff0c;当然系统自带该服务&#xff0c;可以开启&#xff0c;本文只是分享一下该协议报文和能跑的源码。网上作为服务的源码不太常见&#xff0c;…

[机器学习]XGBoost(3)——确定树的结构

XGBoost的目标函数详见[机器学习]XGBoost&#xff08;2&#xff09;——目标函数&#xff08;公式详解&#xff09; 确定树的结构 之前在关于目标函数的计算中&#xff0c;均假设树的结构是确定的&#xff0c;但实际上&#xff0c;当划分条件不同时&#xff0c;叶子节点包含的…

51c视觉~合集33

我自己的原文哦~ https://blog.51cto.com/whaosoft/12163849 #Robin3D 3D场景的大语言模型&#xff1a;在鲁棒数据训练下的3DLLM新SOTA! 论文地址&#xff1a;https://arxiv.org/abs/2410.00255代码将开源&#xff1a;https://github.com/WeitaiKang/Robin3D 介绍 多模态…

【游戏中orika完成一个Entity的复制及其Entity异步落地的实现】 1.ctrl+shift+a是飞书下的截图 2.落地实现

一、orika工具使用 1)工具类 package com.xinyue.game.utils;import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.impl.DefaultMapperFactory;/*** author 王广帅* since 2022/2/8 22:37*/ public class XyBeanCopyUtil {private static MapperFactory mappe…

黑马Redis数据结构学习笔记

Redis数据结构 动态字符串 Intset Dict ZipList QuickList SkipList 类似倍增 RedisObject 五种数据类型 String List Set ZSet Hash

GTID详解

概念和组成 1&#xff0c;全局事务表示&#xff1a;global transaction identifiers 2, GTID和事务一一对应&#xff0c;并且全局唯一 3&#xff0c;一个GTID在一个服务器上只执行一次 4&#xff0c;mysql 5.6.5开始支持 组成 GTID server_uuid:transaction_id 如&#xf…

怎么将pdf中的某一个提取出来?介绍几种提取PDF中页面的方法

怎么将pdf中的某一个提取出来&#xff1f;传统上&#xff0c;我们可能通过手动截取屏幕或使用PDF阅读器的复制功能来提取信息&#xff0c;但这种方法往往不够精确&#xff0c;且无法保留原文档的排版和格式。此外&#xff0c;很多时候我们需要提取的内容可能涉及多个页面、多个…

RTU 通信模块赋能智慧路灯远程开关管理,点亮智慧城市节能增效

RTU&#xff08;Remote Terminal Unit&#xff09;远端测控单元在智慧路灯远程开关管理系统中主要负责数据通信和开关控制。能够实现对路灯设备的远程监测和控制&#xff0c;将路灯的状态信息&#xff08;如开关状态、故障信息、亮度参数等&#xff09;上传到管理平台&#xff…