2019年‘泰迪杯’数据分析职业技能大赛A题——个人代码分享

目录

题目

任务 1 数据预处理与统计

任务 2 数据分析与可视化

代码展示

任务一 

任务二


题目

任务 1 数据预处理与统计

任务 1.1 对数据作必要的预处理,在报告中列出处理步骤,将处理后的结 国保存为“task1_1.csv”。

任务 1.2 统计每个大类商品的销售金额,将结果保存为“task1_2.csv”。

任务 1.3 统计每个中类商品的促销销售金额和非促销销售金额,将结果保 存为“task1_3.csv”。

任务 1.4 统计生鲜类产品和一般产品的每周销售金额,将结果保存为 “task1_4.csv”。

任务 1.5 统计每位顾客每月的消费额及消费天数,将结果保存为 “task1_5.csv”,并在报告中列出用户编号为 0-10 的结果。

任务 2 数据分析与可视化

任务 2.1 绘制生鲜类商品和一般商品每天销售金额的折线图,并分析比较 两类产品的销售状况。

任务 2.2 按月绘制各大类商品销售金额的占比饼图,并分析其销售状况。

任务 2.3 绘制促销商品和非促销商品销售金额的周环比增长率柱状图。

代码展示

任务一 

代码展示:

#任务1.1
import pandas as pd
import numpy as np
data=pd.read_csv('D:\\桌面\\2019A题\\附件.csv',engine='python',encoding='gbk')
data.pop('规格型号')
data.pop('单位')
data.pop('销售月份')
data.pop('商品编码')
data.index=data['顾客编号']
data.pop('顾客编号')
data.销售日期=pd.to_datetime(data['销售日期'],format='%Y%m%d',errors='coerce')
data.to_csv('D:\\桌面\\2019A题\\task1_1.csv',encoding='utf-8-sig')#任务1.2
data12=pd.read_csv('D:\\桌面\\2019A题\\task1_1.csv',engine='python')
df12=data12.groupby('大类名称').sum('销售金额')
sales=df12['销售金额']
sales.to_csv('D:\\桌面\\2019A题\\task1_2.csv',encoding='utf-8-sig')#任务1.3
df13=data12.groupby(['中类名称','是否促销']).sum('销售金额')
sales13=df13['销售金额']
sales13.to_csv('D:\\桌面\\2019A题\\task1_3.csv',encoding='utf-8-sig')#任务1.4
df14=data12.groupby('商品类型')
data14=df14.get_group('生鲜')
data141=df14.get_group('一般商品')
data141=data141.groupby('销售日期').sum('销售金额')
data14=data14.groupby('销售日期').sum('销售金额')
x=len(data14)
fresh=[]
ord=[]
sum14=0
sum141=0
lst14=data14['销售金额'].tolist()
lst141=data141['销售金额'].tolist()
for i in range(0,x):sum14=sum14+lst14[i]sum141=sum141+lst141[i]if (i+1)%7==0:fresh.append(sum14)ord.append(sum141)sum14=0sum141=0
data14=pd.DataFrame({'生鲜':fresh,'一般商品':ord},index=range(1,len(fresh)+1))
data14.to_csv('D:\\桌面\\2019A题\\task1_4.csv',encoding='utf-8-sig')#任务1.5
data12.销售日期=pd.to_datetime(data12['销售日期'],format='%Y/%m/%d')
data12['月']=data12['销售日期'].dt.month
df15=data12.groupby('月')
data15={}
for i in range(1,5):df151=df15.get_group(i)con = df151.groupby('顾客编号').sum('销售金额')day = df151.groupby(['顾客编号','销售日期']).size()day=day.groupby('顾客编号').size()data15['{:d}月消费天数'.format(i)] = daydata15['{:d}月消费额'.format(i)]=con['销售金额']data15['{:d}月消费天数'.format(i)]=day
data15=pd.DataFrame(data15)
data15=data15.fillna(value=0)
data15.to_csv('D:\\桌面\\2019A题\\task1_5.csv',encoding='utf-8-sig')

任务二

代码展示

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif']=["SimHei"]
plt.rcParams['axes.unicode_minus']=False#任务2.1
data12=pd.read_csv('D:\\桌面\\2019A题\\task1_1.csv',engine='python')
df14=data12.groupby('商品类型')
data14=df14.get_group('生鲜')
data141=df14.get_group('一般商品')
data141=data141.groupby('销售日期').sum('销售金额')
data14=data14.groupby('销售日期').sum('销售金额')
plt.plot(data14.index,data14['销售金额'],label='生鲜')
plt.plot(data141.index,data141['销售金额'],label='一般商品')
plt.xticks(range(0,len(data14),5),rotation=90)
plt.title('生鲜类商品和一般商品每天销售金额折线图')
plt.legend()
plt.show()#任务2.2
data12.销售日期=pd.to_datetime(data12['销售日期'],format='%Y/%m/%d')
data12['月']=data12['销售日期'].dt.month
data22=data12.groupby('月')
for i in range(1,5):df22=data22.get_group(i)df22=df22.groupby('大类名称').sum('销售金额')patches,l_text,p_text=plt.pie(df22['销售金额'],labels=df22.index,autopct='%.2f%%',textprops={'size':6},startangle=90)plt.title('各大类商品{:d}销售金额的占比饼图'.format(i))for t in p_text:t.set_size(5)for i in l_text:t.set_size(9)plt.show()#任务2.3
data12=data12.groupby('是否促销')
def promotion(str):datay = data12.get_group(str)datay=datay.groupby('销售日期').sum('销售金额')sale23=datay['销售金额'].tolist()x=len(datay)sum=0sumy=[]rate=[]for i in range(0,x):sum=sum+sale23[i]if (i+1)%7==0:sumy.append(sum)sum=0for i in range(1,len(sumy)):rt=(sumy[i]-sumy[i-1])/sumy[i-1]rate.append(rt)x=[i for i in range(1,len(rate)+1) ]if str=='是':label='促销'else:label='非促销'plt.bar(x,rate,label=label)rate=np.array(rate)rate=np.round(rate,2)rate=rate.tolist()for x1 in x:plt.text(x1,rate[x1-1],rate[x1-1],va='bottom',ha='center')
promotion('是')
promotion('否')
plt.title('促销商品和非促销商品销售金额的周环比增长率柱状图')
plt.legend()
plt.show()

 

 

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

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

相关文章

2020泰迪杯数据分析技能赛B题-新冠疫情数据分析

任务 1 数据的基本处理 任务 1.1 根据附件 1“城市疫情”中的数据统计各城市自首次通报确诊病 例后至 6 月 30 日的每日累计确诊人数、累计治愈人数和累计死亡人数,将结果 保存为“task1_1.csv”,第一行为字段名,按城市、日期、累计确诊人数…

【论文阅读】提升的自动作文评分通过Prompt预测和匹配

摘要 自动作文评分的目标时自动得评估文章的质量。它是自然语言处理领域中主要的教育应用之一。近来,预训练的技术被用于提升下游任务的性能表现。但是,通过预训练的编码器获取更好的特征,比如说prompts,是很重要的但是并没有被完…

数据分析师是青春饭吗?年龄影响很大吗?

数据分析师是青春饭吗?企业需要经验丰富的数据分析师,数据分析师是不是青春饭,反而是越老越吃香,做数据分析不在于年龄,年龄相对你的经验和技能、适应性、还有学习能力并不重要,数据分析工作并不是一蹴而就…

下一个韦神?广西桂林14岁初中生保送清华丘班,明年本硕博连读!

【导读】最近,初三学生官子钦和高一学生周睿哲被清华丘成桐数学领军计划录取,网友们围观后深深震撼:这就是天才。 14岁天才少年又一次震撼了网友! 近日,清华大学丘成桐领军人才培养计划2023年第一批次入围认定结果公…

如何通过tushare获取数据并添加进度条,写入到本地Excel文件

tushare官网地址:Tushare数据 欢迎大家注册体验 安装tushare库 在命令提示符或终端中输入以下命令,可使用pip安装tushare库: pip install tushare 获取API token 在使用tushare库之前,需要先获取API token。在tushare官网注册…

U8如何修改单位名称和账套名称

1、修改单位名称和账套名称时需要使用系统管理员账号登录,系统管理员账号为1 2、登录之后点击系统管理-单位信息 3、找到需要修改的单位,双击即可修改 4、在弹出的弹窗中修改单位名称然后点击确定即可 5、账套名称的修改需点击系统管理-单位账套 6、…

悟空crm二次开发 新增人力资源HRM招聘需求、简历管理、公文管理、回款统计、回款管理、回款计划

悟空crm二次开发 新增人力资源HRM招聘需求、简历管理、公文管理、回款统计、回款管理、回款计划 public function createTeamData($param) {if (!is_array($param[user_id])) {$param[user_id] [intval($param[user_id])];}if (!is_array($param[types_id])) {$param[types_id…

【U8+】用友U8+自动审核自动生成的其他出入库单据

【问题需求】 用友U8中,客户希望调拨单、组装拆卸单、盘点单审核后,自动审核对应的其他出入库单。 【解决方法】 针对账套库执行,查询语句: select * from AccInformation where cSysID ST and ccaption like %自动审核%查询后…

SAP_过账提示科目要求一个成本会计分配

问题点: 解决方案: 在ECC系统,可通过KA02-更改成本要素,在缺省科目分配中设置默认的成本中心或内部订单 后台-控制-成本要素会计-主数据-成本要素-创建成本要素 在S4/HANA系统中,由于成本要素会计功能的变更&#xf…

【分享】用友U8无需API开发连接表单系统、CRM系统、数据库等第三方应用

用友U8用户使用场景: 每当用友U8有存货修改时,需要仓库管理员查询存货档案详情,然后在钉钉宜搭上查询对应货品详情并进行修改,确保两个系统的信息统一,便于销售人员调整营销策略。 但整个流程耗费一定的时间&#xff0…

总账科目 前台操作关事务代码及操作要点

目录 1、维护会计科目相关代码及要点 2、公司代码中的科目参数详解 1、维护会计科目相关代码及要点 事务代码:FSP0 在科目表中维护科目 操作例子:创建1001010100 现金-人民币 及40010001实收资本. 点保存后成功展示如下图 注意,后台必须的…

安卓--记账软件课程设计

安卓课程设计 记账软件课程设计 目录 1 引言............................................................................................................................................................. 2 1.1 背景............................................…

用友U8二次开发之登录

首先引用U8的登录DLL: 然后是调用U8的登录UI: UFSoft.U8.Framework.Login.UI.clsLogin U_Login new UFSoft.U8.Framework.Login.UI.clsLogin();U_Login.login("DP")其中DP是门户子系统的代码,如果不调用U8的业务系统功能&#xff…

基于android的记账APP大作业项目

基于android的记账APP 一 项目介绍 由于日常生活中,有很多月光一族的人们,他们往往不知不觉,觉得钱用的差不多了。而且最后回想起来,还不知道钱用到哪些地方了。所以开发此软件的目的,就是为了解决这样的问题,从软件…

【安卓开发】简单记账app功能实现开发-期末大作业个人总结

说在前面: 由于这一次的大作业涉及到的代码部分过于长,所以博客里不放相关代码; 工程&apk&记账app原型&素材资源链接:https://download.csdn.net/download/white2333/11234105 配套文档目录预览&资源链接&…

管家婆软件创建账套提示:创建账套失败

我们在安装完管家婆软件后,在创建账套的时,可能会碰到这个错误:创建账套失败!这个报错要怎么去解决呢? 问题原因1:这个提示一般是管家婆软件安装目录比较深,就比如A文件夹里面有个A1的文件夹&am…

【T+】将查询账套更换成可以业务操作的正式版账套

【问题描述】 在使用畅捷通T软件过程中, 由于某些原因,将已使用的账套设置成【查询版】,并且根据软件提示,设置后该账套只能查询使用,不可以进行业务操作。 并且【查询】账套不支持反操作。 设置成查询版后&#xff0c…

SAP中使用LSMW批量导入总账科目

遗留数据迁移平台,可以导入主数据:科目、资产主数据、物料主数据、供应商、客户主数据、成本中心、内部订单数据。。。。 FSP0 FSS0 分层导入:适合集团和分公司分别维护科目主数据,集团和公司自行维护科目主数据 FS00集中导入&a…

SAP系统 会计科目主数据详解

会计科目(主数据)概述: 每个公司代码均指定一个总帐的科目表。此科目表在配置中分配到公司代码,作为其运营科目表 每个总帐都是根据科目表建立的。所有总帐科目的定义均以有序形式包含在科目表内。定义主要由科目编号、科目名称…

工资管理系统(附源码,直接复制就可以跑起来)

分享一个Java Application的工资系统。 运行界面如下: 其他分类专栏也有一些其他的Java Web系统 点击分类专栏介绍查看 直接创建如下的5个Java类文件。 1.项目工程 2.CommonEmployee类 package study;import java.util.*;public class TestEMD {/*** len代表数组的…