IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 2021泰迪杯数据分析技能赛A题:Python实现通讯产品销售和盈利能力分析(含原始数据) -> 正文阅读

[人工智能]2021泰迪杯数据分析技能赛A题:Python实现通讯产品销售和盈利能力分析(含原始数据)

这周复习了python数据处理的实战,把之前竞赛的题目重新做了一遍。这里侧重数据分析与数据处理的部分。文末含原始题目与数据,需要的小伙伴自取~

【事先说明】:本文只是在技术维度上进行分析及展示,在业务维度上没有做过多分析。事实上在竞赛或工作中,数据分析都是离不开业务的,不过现在就先练练技术啦~

先来看看赛题要求吧

赛题要求

目标

  1. 统计产品在当地的销售数据,预测未来的销售情况。
  2. 设计可视化数字大屏,展示产品的销售情况,分析产品的盈利能力。

任务

任务 1 数据分析与预测 根据附件“非洲通讯产品销售数据”中的数据,分别实现以下任务:

任务 1.1 统计各个年度/季度中,地区、国家、服务分类的销售额和利润数 据,并计算各国、各服务分类销售额和利润的同比增长率。

任务 1.2 统计各地区、国家有关服务分类销售额和利润数据。

任务 1.3 统计各个销售经理的成交合同数和成交率。

任务 1.4 分别预测各个地区、国家、服务分类 2021 年第一季度销售额和利 润。

任务 2 可视化展示和撰写分析报告 对各地区、国家、服务分类的产品销售额和利润等数据,以及销售经理的业 绩数据,进行同比、类比、相关性等分析或预测,发现趋势。根据分析和预测结 果,设计一个数字大屏,根据目标,合理布局,展示能够代表产品销售情况和盈 利能力的数据指标和可视化图表等。 在下面任务不同的维度分析中,必要时,可以设置选择框,使用联动的方式, 根据选择框,查看和展示该选择框范围的数据和可视化图表。例如,设立国家选 择框,选项包括“全部”和国家名称,可以查看全部或某个国家的指标数据和可 视化图表。其他类推。 数字化大屏至少包括以下任务:

任务 2.1 绘制非洲各国产品的销售地图,并能够查看该国的销售额和利润。 根据销售额的降序排列,绘制非洲各国产品销售额和利润数据的图表。

任务 2.2 根据地区、国家等维度,绘制各服务分类的销售额和利润的年增 长率及各季度同比增长率的图表。

任务 2.3 根据地区、国家等维度,绘制 2021 年第一季度各服务分类的销售 额和利润预测值的图表。

任务 2.4 绘制销售经理的销售合同数前 5 名排行榜。

任务 2.5 绘制销售额后 10 名的国家排行榜。

任务 2.6 分析数字大屏的指标数据和图表,撰写公司产品的销售情况和盈 利能力的分析报告。

以下是各题的实现代码

1导入相关库和数据

import pandas as pd
import numpy as np
import datetime as dt
data01=pd.read_excel(r'C:\Users\章ky\Desktop\非洲通讯产品销售数据.xlsx')
data02=pd.read_excel(r'C:\Users\章ky\Desktop\非洲通讯产品销售数据.xlsx',sheet_name=1)

2数据预处理

查看数据前五行

data01.head()

在这里插入图片描述

data02.head()

在这里插入图片描述

查看数据类型、有无缺失值

#查看数据信息
data01.info()

没有缺失值,非常完美
在这里插入图片描述

data02.info()

我们发现,在读取数据的时候,将第6、7列读进去了,这两列是没有意义的,我们直接删掉。
在这里插入图片描述

#对data02的数据清洗
data02=data02.iloc[:,0:5]

查看数值数据

粗略看看有无异常

data01.describe()

在这里插入图片描述

data02.describe()

在这里插入图片描述
看起来没啥问题

3任务一 数据分析与预测

任务 1.1

统计各个年度/季度中,地区、国家、服务分类的销售额和利润数据,并计算各国、各服务分类销售额和利润的同比增长率。

销售额和利润数据

各个年度/季度中,地区的销售额利润数据

# 各个年度/季度中,地区的销售额和利润数据
#将日期设置为索引
ind=pd.DatetimeIndex(data01['日期'])
data01=data01.set_index(ind)
#分组
data01['year']=data01['日期'].dt.year
data01['quarter']=data01['日期'].dt.quarter
#统计各个年度/季度中,地区、国家、服务分类的销售额和利润数据

writer = pd.ExcelWriter('result1.1.xlsx')
diqu=data01.pivot_table(['利润','销售额'],index=['year','quarter'],columns='地区',aggfunc=['sum','mean','median'],margins=True)
diqu.to_excel(writer,index=True,sheet_name='年度地区')
gj=data01.pivot_table(['利润','销售额'],index=['year','quarter'],columns='国家',aggfunc=['sum','mean','median'],margins=True)
gj.to_excel(writer,index=True,sheet_name='年度国家')
fw=data01.pivot_table(['利润','销售额'],index=['year','quarter'],columns='服务分类',aggfunc=['sum','mean','median'],margins=True)
fw.to_excel(writer,index=True,sheet_name='年度服务分类')

writer.save()
writer.close()

这里利用 pd.ExcelWriter()更加来方便的将数据一个sheet一个sheet的写到excel中

各个年度/季度中,地区的销售额和利润数据

在这里插入图片描述

同比增长率

计算各国、各服务分类销售额和利润的同比增长率。

#计算各国、各服务分类销售额和利润的同比增长率
# 同比增长率一般是指去年和同期相比较的增长率。

#各服务分类年度销售额和利润的同比增长率
fw=data01.pivot_table(['销售额','利润'],index='year',columns='服务分类',aggfunc='sum')
fw_y=fw/fw.shift(1)-1
fw_y=fw_y.loc[2018:,:]
#各服务分类季度销售额和利润的同比增长率
fwq=data01.pivot_table(['销售额','利润'],index=['year','quarter'],columns='服务分类',aggfunc='sum')
fw_q=fwq/fwq.shift(4)-1
fw_q=fw_q.iloc[4:,:]

#各国家年度销售额和利润的同比增长率
gj=data01.pivot_table(['销售额','利润'],index='year',columns='国家',aggfunc='sum')
gj_y=gj/gj.shift(1)-1
gj_y=gj_y.loc[2018:,:]


#各国家各季度销售额和利润的同比增长率
gjq=data01.pivot_table(['销售额','利润'],index=['year','quarter'],columns='国家',aggfunc='sum')
gj_q=gjq/gjq.shift(4)-1
gj_q=gj_q.iloc[4:,:]

【知识点:shift()、pivot_table()的使用】

结果如下:

各年各国同比增长:

在这里插入图片描述

各年各服务分类同比增长:

在这里插入图片描述

各季度各国同比增长:

在这里插入图片描述

各季度各服务分类同比增长:

在这里插入图片描述

任务1.2

统计各地区、国家有关服务分类销售额和利润数据。

# 相比任务1.1,没有考虑时间
data1_2gj=data01.pivot_table(['销售额','利润'],index='国家',columns='服务分类',aggfunc=['sum','mean'])
data1_2dq=data01.pivot_table(['销售额','利润'],index='地区',columns='服务分类',aggfunc=['sum','mean'])

各国家有关服务分类销售额和利润数据。

在这里插入图片描述

各地区有关服务分类销售额和利润数据。

在这里插入图片描述

任务1.3

统计各个销售经理的成交合同数和成交率。

合同数

#合同数量
grouped=data02[['销售经理','销售合同']].groupby('销售经理').sum()
grouped_sorted=grouped.sort_values(by='销售合同',ascending=False)
grouped_sorted

各销售经理的合同数
在这里插入图片描述

成交率

这里注意,成交率直接相加的意义不大

#成交率:由于每行的销售合同数量不一样,成交率不应该直接相加
def deal(data):
    s=data02['销售合同']*data02['成交率']
    rate=s.sum()/data['销售合同'].sum()
    return rate
data02.groupby('销售经理').apply(deal)    

在这里插入图片描述

4任务2 可视化展示

我是用tableau实现的,就进行个展示吧

任务 2.1

绘制非洲各国产品的销售地图,并能够查看该国的销售额和利润。 根据销售额的降序排列,绘制非洲各国产品销售额和利润数据的图表。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

任务 2.2

根据地区、国家等维度,绘制各服务分类的销售额和利润的年增长率及各季度同比增长率的图表。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

任务 2.4

绘制销售经理的销售合同数前 5 名排行榜。

在这里插入图片描述

任务 2.5

绘制销售额后 10 名的国家排行榜。

在这里插入图片描述

5 数据

百度网盘:
链接:https://pan.baidu.com/s/1Zs24s1UMXJcnZ-ooq38pQA
提取码:56qa

ps:任务1.4和2.3涉及到预测的部分,需用到数据挖掘,挖个坑xx本人打算复习机器学习后再做对应的实践~

总结:

  • 考察点:时间序列数据的处理与分析、数据重组聚合、数据可视化
  • 难易程度:偏简单
  • 个人结合:任务一主要运用数据重组和时间序列分析。pivot_table()函数的可用性极强。时间序列分析中用到较多的方法是:提取年份、季节;同比、环比的计算(shift);时间序列索引的应用。在可视化的部分用tableau来实现既快速又简单。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:38:31  更:2022-05-18 17:41:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:40:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码