超市营业额数据分析

news2024/12/22 10:22:54

文章目录

  • 1:查看单日交易额最小的3天的交易数据,并查看这3天是周几
    • 1.1:导入模块
    • 1.2:数据处理
    • 1.3:输出结果
    • 完整代码
  • 2:把所有员工的工号前面增加一位数字,增加的数字和原工号最后一位相同,把修改后的数据写入新的文件“超市营业额2_修改工号.xlsx”
    • 2.1:导入模块
    • 2.2:数据处理
    • 完整代码
  • 3:把每个员工的交易额数据写入文件“各员工数据.xlsx”,每个员工的数据占一个 worksheet,结构和“超市营业额2.xlsx”一样,并以员工姓名作为worksheet 的标题
    • 3.1:导入模块
    • 3.2:数据处理
    • 完整代码
  • 4:利用Pandas绘制折线图展示一个月内各柜台营业额每天的变化趋势
    • 4.1:导入模块
    • 4.2:数据处理
    • 完整代码
  • 5:利用Pandas绘制饼状图展示该月各柜台营业额在交易总额中的占比
    • 5.1:导入模块
    • 5.2:数据处理
    • 完整代码
  • 6:绘制柱状图展示张三在不同柜台的交易总额
    • 6.1:导入模块
    • 6.2:数据处理
    • 完整代码

数据:链接:https://pan.baidu.com/s/155xelD0h2OmgOBiXFcmnuw?pwd=kbkp
提取码:kbkp

1:查看单日交易额最小的3天的交易数据,并查看这3天是周几

1.1:导入模块

import pandas as pd

1.2:数据处理

读取表格数据

df = pd.read_excel("超市营业额.xlsx")

根据日期分类汇总,按交易额求和汇总并取最小的前3位和交易额的列名

df1 = df.groupby(by="日期", as_index=False).agg({"交易额": "sum"}).nsmallest(3,['交易额'])

1.3:输出结果

print(pd.to_datetime(df1.日期).dt.day_name())
24      Monday
20    Thursday
9       Sunday
Name: 日期, dtype: object

完整代码

import pandas as pd

df = pd.read_excel("超市营业额.xlsx")
df1 = df.groupby(by="日期", as_index=False).agg({"交易额": "sum"}).nsmallest(3,['交易额'])

print(pd.to_datetime(df1.日期).dt.day_name())

2:把所有员工的工号前面增加一位数字,增加的数字和原工号最后一位相同,把修改后的数据写入新的文件“超市营业额2_修改工号.xlsx”

2.1:导入模块

import pandas as pd

2.2:数据处理

读取表格数据

df = pd.read_excel("超市营业额.xlsx")

把所有员工的工号前面增加一位数字

df['工号']=df['工号'].map(lambda s: str(s)[-1] + str(s))

把修改后的数据写入新的文件“超市营业额2_修改工号.xlsx”

df1 = pd.read_excel("超市营业额2_修改工号.xlsx")

查看是否写入

df1 = pd.read_excel("超市营业额2_修改工号.xlsx")
print(df1)
工号  姓名          日期           时段     交易额    柜台
0    11001  张三  2019-03-01   900-1400  1664.0   化妆品
1    21002  李四  2019-03-01  1400-2100   954.0   化妆品
2    31003  王五  2019-03-01   900-1400  1407.0    食品
3    41004  赵六  2019-03-01  1400-2100  1320.0    食品
4    51005  周七  2019-03-01   900-1400   994.0   日用品
..     ...  ..         ...          ...     ...   ...
244  21002  李四  2019-03-31  1400-2100   859.0  蔬菜水果
245  41004  赵六  2019-03-31   900-1400  1668.0   日用品
246  41004  赵六  2019-03-31  1400-2100  1722.0   日用品
247  31003  王五  2019-03-31   900-1400  1274.0    食品
248  61006  钱八  2019-03-31  1400-2100   812.0    食品

完整代码

import pandas as pd
 
df = pd.read_excel("超市营业额.xlsx")

df['工号']=df['工号'].map(lambda s: str(s)[-1] + str(s))

df.to_excel('超市营业额2_修改工号.xlsx',index = False)

df1 = pd.read_excel("超市营业额2_修改工号.xlsx")
print(df1)

3:把每个员工的交易额数据写入文件“各员工数据.xlsx”,每个员工的数据占一个 worksheet,结构和“超市营业额2.xlsx”一样,并以员工姓名作为worksheet 的标题

3.1:导入模块

import pandas as pd

3.2:数据处理

读取表格数据

df = pd.read_excel("超市营业额.xlsx")

设置输出格式

writer = pd.ExcelWriter('各员工数据.xlsx')

读取姓名并去重

names = set(df['姓名'])

每个员工的数据占一个 worksheet,并以员工姓名作为worksheet 的标题

for name in names:
    df1 = df[df.姓名 == name]
    df1.to_excel(writer, sheet_name = name, index = False)
writer.save()

在这里插入图片描述

完整代码

import pandas as pd

df = pd.read_excel("超市营业额.xlsx")
writer = pd.ExcelWriter('各员工数据.xlsx')


names = set(df['姓名'])

for name in names:
    df1 = df[df.姓名 == name]
    df1.to_excel(writer, sheet_name = name, index = False)
    
writer.save()

4:利用Pandas绘制折线图展示一个月内各柜台营业额每天的变化趋势

4.1:导入模块

import pandas as pd
import matplotlib.pyplot as plot
import matplotlib.font_manager as fm

4.2:数据处理

读取表格数据并筛选列名为’日期’, ‘柜台’, ‘交易额’,的列

df = pd.read_excel('超市营业额.xlsx',usecols=['日期', '柜台', '交易额'])

根据日期和柜台分类汇总,对交易额进行求和

df = df.groupby(by = ['日期','柜台'], as_index = False).agg({"交易额": "sum"})

以日期横轴,柜台为纵轴,交易额为变化曲线画图

df = df.pivot(index = '日期', columns = '柜台', values = '交易额')
df.plot()

在这里插入图片描述

完整代码

import pandas as pd
import matplotlib.pyplot as plot
import matplotlib.font_manager as fm

df = pd.read_excel('超市营业额.xlsx',usecols=['日期', '柜台', '交易额'])

df = df.groupby(by = ['日期','柜台'], as_index = False).agg({"交易额": "sum"})
df = df.pivot(index = '日期', columns = '柜台', values = '交易额')

df.plot()

5:利用Pandas绘制饼状图展示该月各柜台营业额在交易总额中的占比

5.1:导入模块

import pandas as pd
import matplotlib.pyplot as plot
import matplotlib.font_manager as fm

5.2:数据处理

设置使用中文字体(font)为黑体(SimHei)

pt.rcParams['font.sans-serif'] = ['simhei']

读取表格数据并筛选列名为 ‘柜台’, ‘交易额’,的列

df = pd.read_excel('超市营业额.xlsx',usecols=['柜台', '交易额'])

根据柜台分类汇总,对交易额进行求和

df = df.groupby(by = ['柜台'], as_index = False).agg({"交易额": "sum"})

展示该月各柜台营业额在交易总额中的占比

df = df.plot(x = '柜台', y = '交易额', kind = 'pie', labels = df.柜台.values)
pt.legend()
pt.show()

在这里插入图片描述

完整代码

import pandas as pd
import matplotlib.pyplot as pt
import matplotlib.font_manager as fm

pt.rcParams['font.sans-serif'] = ['simhei']

df = pd.read_excel('超市营业额.xlsx',usecols=['柜台', '交易额'])
df = df.groupby(by = ['柜台'], as_index = False).agg({"交易额": "sum"})

df = df.plot(x = '柜台', y = '交易额', kind = 'pie', labels = df.柜台.values)
pt.legend()
pt.show()

6:绘制柱状图展示张三在不同柜台的交易总额

6.1:导入模块

import pandas as pd
import matplotlib.pyplot as pt
import matplotlib.font_manager as fm

6.2:数据处理

设置使用中文字体(font)为黑体(SimHei)

pt.rcParams['font.sans-serif'] = ['simhei']

读取表格数据并筛选列名为’姓名’, ‘柜台’, ‘交易额’,的列

df = pd.read_excel('超市营业额.xlsx',usecols=['姓名','柜台', '交易额'])

筛选姓名为张三的信息

df = df[df.姓名 == '张三']

根据柜台分类汇总,对交易额进行求和

df = df.groupby(by = ['柜台'], as_index = False).agg({"交易额": "sum"})

绘制柱状图展示张三在不同柜台的交易总额

df = df.plot(x = '柜台', y = '交易额', kind = 'bar')
pt.legend()
pt.show()

在这里插入图片描述

完整代码

import pandas as pd
import matplotlib.pyplot as pt
import matplotlib.font_manager as fm

pt.rcParams['font.sans-serif'] = ['simhei']

df = pd.read_excel('超市营业额.xlsx',usecols=['姓名','柜台', '交易额'])
df = df[df.姓名 == '张三']
df = df.groupby(by = ['柜台'], as_index = False).agg({"交易额": "sum"})

df = df.plot(x = '柜台', y = '交易额', kind = 'bar')
pt.legend()
pt.show()

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

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

相关文章

FBAR滤波器的工作原理及制备方法

近年来,随着无线通信技术朝着高频率和高速度方向迅猛发展,以及电子元器件朝着微型化和低功耗的方向发展,基于薄膜体声波谐振器(Film Bulk Acoustic Resonator,FBAR)的滤波器的研究与开发越来越受到人们的关…

酒楼拓客营销流程,酒楼宣传推广方案

随著网络时代的发展,许多行业受到了大大的冲击,其中也涵盖酒楼,在目前的情况下,对于酒楼来说,无论是互联网还是线下,引流都是最重要的。那么酒楼如何做好营销推广工作,从而提升业绩?…

乘风而起!企业级应用软件市场迅猛发展,有哪些机会可以把握?

数字化转型战略的深入,使我国企业级软件市场得到了迅速的发展,据统计,2021年我国企业级应用软件市场规模超过了600亿元,其中商业智能(BI)市场规模超过了50亿元。 得益于中国企业对于数据系统的本地化部署需…

Hadoop3 - MapReduce DB 操作

一、MapReduce DB 操作 对于本专栏的前面几篇文章的操作,基本都是读取本地或 HDFS 中的文件,如果有的数据是存在 DB 中的我们要怎么处理呢? Hadoop 为我们提供了 DBInputFormat 和 DBOutputFormat 两个类。顾名思义 DBInputFormat 负责从数…

MODBUS通信浮点数存储解析常用算法

MODBUS通信相关的基础知识,各种PLC通信程序的写法。可以参看专栏的其它文章这里不赘述。MODBUS通信时,数据帧都是以字节为单位发送和接收的,接收到的字节,如何存放和解析。就需要我们具备数据处理类的知识了,这里需要大家简单了解下有关数据结构的基础知识,这方面比较薄弱…

AcWing 蓝桥杯AB组辅导课 05、树状数组与线段树

文章目录前言一、树状数组1.1、树状数组知识点1.2、树状数组代码模板模板题:AcWing 1264. 动态求连续区间和例题例题1、AcWing 1265. 数星星【中等,信息学奥赛一本通】习题习题1:1215. 小朋友排队【中等,蓝桥杯】二、 线段树知识点…

27.5 Java集合之Set学习(基本概念,存储原理,性能测试)

文章目录1.Set接口1.1 Set的特性是什么?2.具体实现2.1 HashSet2.1.1 存储原理2.1.2 性能测试2.2 TreeSet2.2.1 存储原理2.2.2 性能测试2.3 EnumSet(了解即可)2.3.1 存储原理2.4 LinkedHashSet2.4.1 存储原理2.4.2 性能测试2.4.3 代码地址1.Se…

【Gitee】上传本地项目到 Gitee 仓库(入门篇)

本文主要介绍上传本地项目到 Gitee 仓库的过程,可以说是一个比较傻瓜的教材吧,从0开始,祝大家都能一次成功~~~ 一、前期准备 1. 配置 Gitte 创建 Gitte 账号,绑定好邮箱,并创建一个空仓库 。创建账号绑定邮箱过程这部…

【信号检测】基于小波变换的信号趋势检测和分离研究附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

双十一好物推荐:2022年好用的数码好物分享

一年一度的双十一尽在眼前,因为双十一的优惠力度是一年中最大的一次,所以许多人都想着直接一年屯一次,一次屯一年的理念,那么作为资深剁手党的我来说,对比于选购双十一好物来说我还是比较有心得的,下面让我…

机器视觉之工业摄像机知识点(一)

本文主要记录一些基础的工业摄像机的一些简要知识点。我也是根据我觉得比较重要的来记录。作为一位算法工程师,其实是有两条路来走,即技术专家以及技术经理。这两个实际是不同的职业方向。如果你不擅于与外部沟通交流,并且具备非常强的科研和…

基于OpenHarmony的ArkUI框架进阶对于高性能容器类和持久化和原子化的运用

文章目录高性能容器类Badge原子化服务代码简析表达式持久化高性能容器类 顾名思义,容器类是一个存储类,用于存储各种数据类型的元素,并提供一系列处理数据元素的方法。ArkUI开发框架提供了两种类型的容器类,线性和非线性。这些容…

【机器学习】求矩阵的-1/2次方的方法

目录 一、背景描述 二、D^(-1/2)的理论基础 三、代码实现 四、总结 一、背景描述 今天在看如下论文的时候: 态势感知图卷积网络在电力系统连锁故障中的应用-机器学习文档类资源-CSDN文库https://download.csdn.net/download/mzy20010420/86745616?spm1001.20…

Rust之常用集合(一):向量(vector)

开发环境 Windows 10Rust 1.64.0VS Code 1.72.2 项目工程 这里继续沿用上次工程rust-demo 常用集合 Rust的标准库包括许多非常有用的数据结构,称为集合。大多数其他数据类型表示一个特定的值,但是集合可以包含多个值。与内置数组和元组类型不同&…

2022年数维杯数学建模A题银行效率评价与破产成因分析求解全过程文档及程序

2022年数维杯数学建模 A题 银行效率评价与破产成因分析 原题再现: 银行在国家经济社会发展过程中扮演者重要的决策,银行的破产会对企业和个人造成众多不利的影响。相比国内的银行,国际银行的倒闭频次更高,因此国际银行倒闭原因的…

一小时教你轻松学会使用Java 整合 Easy Excel 操作 Excel 文件

文章目录一、Apache POI简介二、POI操作Excel构建maven项目导入依赖使用POI实现基本写操作使用POI实现大数据量写操作使用POI实现基本读操作使用POI读取不同类型的数据三、Easy Excel简介构建maven项目导入依赖实现写操作实现读操作目前市面上比较流行的操作Excel 文件工具大致…

【前端】vue阶段案例:vue-router使用流程

文章目录目标步骤1.配置映射关系2.导入路由并注册3.完成首页App.vue可能出现的问题:Component name "About" should always be multi-word参考目标 点击首页,则url变为/home,且下面显示的组件是Home组件点击关于,则url变…

更易用的OceanBase|生态工具征文大赛正式开启!

OceanBase 一直在思考,什么样的数据库对用户而言更易用? 更易用,除了功能完善、性能优秀、运行稳定的数据库系统,丰富多样的生态工具也必不可少。 作为一款完全自主研发的原生分布式数据库,OceanBase 的生态工具经历…

Java图片或视频生成GIF动图,发送微信

目录前言GIF简介代码生成图片合成GIF自定义GIF动图视频生成GIF发送微信小结前言 别人的博客文章中有动态显示这是怎么做到的呢?别人的微信发送的表情动态为什么是自己鬼畜视频?这些都是别人做到的,本文就是让自己也可以做到以上的事情&#…

Java基于springboot+vue的图书馆网上图书借阅系统 nodejs前后端分离

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括网上图书借阅系统的网络应用,在外国网上图书借阅系统已经是很普遍的方式,不过国内的管理网站可能还处于起步阶段。网上图书借阅系统具有网上图书信息管…