热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

超市营业额数据分析

文章目录1:查看单日交易额最小的3天的交易数据,并查看这3天是周几1.1:导入模块1.2:数据处理1.3:输出




文章目录


  • 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 9:00-14:00 1664.0 化妆品
1 21002 李四 2019-03-01 14:00-21:00 954.0 化妆品
2 31003 王五 2019-03-01 9:00-14:00 1407.0 食品
3 41004 赵六 2019-03-01 14:00-21:00 1320.0 食品
4 51005 周七 2019-03-01 9:00-14:00 994.0 日用品
.. ... .. ... ... ... ...
244 21002 李四 2019-03-31 14:00-21:00 859.0 蔬菜水果
245 41004 赵六 2019-03-31 9:00-14:00 1668.0 日用品
246 41004 赵六 2019-03-31 14:00-21:00 1722.0 日用品
247 31003 王五 2019-03-31 9:00-14:00 1274.0 食品
248 61006 钱八 2019-03-31 14:00-21:00 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()






推荐阅读
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • java drools5_Java Drools5.1 规则流基础【示例】(中)
    五、规则文件及规则流EduInfoRule.drl:packagemyrules;importsample.Employ;ruleBachelorruleflow-group ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 本文总结了使用不同方式生成 Dataframe 的方法,包括通过CSV文件、Excel文件、python dictionary、List of tuples和List of dictionary。同时介绍了一些注意事项,如使用绝对路径引入文件和安装xlrd包来读取Excel文件。 ... [详细]
author-avatar
936383130_54f13e
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有