超市营业额数据分析

简介: 超市营业额数据分析

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()

c36c0ad31394434f9e3afcf1dc8f1ec1.png


完整代码

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 pt
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()

1f0304a116ec434e9ad3f11474667732.png


完整代码

import pandas as pd
import matplotlib.pyplot as pt
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 pt
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()

b24650467e0a4ab08324b71c150bdc75.png


完整代码

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()

ebde1f974e3d4d6ab27b14f41a809053.png


完整代码

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()


目录
相关文章
|
3月前
|
数据采集 存储 数据可视化
【python】python超市销售订单数据分析可视化(源码+数据集)【独一无二】
【python】python超市销售订单数据分析可视化(源码+数据集)【独一无二】
|
3月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
77 2
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
176 4
|
3月前
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
84 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
|
9天前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
数据分析之旅:用Python探索世界
数据分析之旅:用Python探索世界
27 2
|
2月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
【9月更文挑战第2天】数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
56 5
|
3月前
|
供应链 数据可视化 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
本文详细介绍了第十一届泰迪杯数据挖掘挑战赛B题的解决方案,涵盖了对产品订单数据的深入分析、多种因素对需求量影响的探讨,并建立了数学模型进行未来需求量的预测,同时提供了Python代码实现和结果可视化的方法。
125 3
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题二
本文提供了第十一届泰迪杯数据挖掘挑战赛B题问题二的详细解题步骤,包括时间序列预测模型的建立、多元输入时间预测问题的分析、时间序列预测的建模步骤、改进模型的方法,以及使用Python进行SARIMA模型拟合和预测的具体实现过程。
68 1
|
3月前
|
数据采集 机器学习/深度学习 搜索推荐
【2023钉钉杯复赛】A题 智能手机用户监测数据分析 Python代码分析
本文介绍了2023钉钉杯复赛A题的智能手机用户监测数据分析,包括数据预处理、特征提取、推荐模型建立与评价的Python代码实现,旨在通过用户使用记录预测APP使用情况并建立推荐系统。
72 0
【2023钉钉杯复赛】A题 智能手机用户监测数据分析 Python代码分析