超市营业额数据分析

文章目录

数据:链接: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 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()

超市营业额数据分析

完整代码

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

超市营业额数据分析

完整代码

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

Original: https://blog.csdn.net/qq_52331221/article/details/127555540
Author: 随兴随缘
Title: 超市营业额数据分析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/738862/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球