Python教材(数据分析、数据挖掘与可视化)——第7章课后习题

1."超市营业额2.xlsx"查看单日交易总额最小的3天的交易数据,并查看这3天是周几。

2."超市营业额2.xlsx"把所有员工的工号前面增加一位数字,增加的数字和原工号最后一位相同,把修改后的数据写入新文件“超市营业额2_修改工号.xlsx“。例如,工号1001变为1101,1003变为31003

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

4.查阅资料,根据本章用到的文件“超市营业额2.xlsx”,绘制折线图展示一个月内柜台营业额每天的变化趋势.

5.查阅资料,根据本章用到的文件“超市营业额2.xlsx”,绘制饼状图展示该月各柜台营业额在交易总额中的占比.

6.查阅资料,根据本章用到的文件“超市营业额2.xlsx”,绘制柱状图展示张三在不同柜台的交易总额

文章目录

  • 第一题
  • 第二题
  • 第三题
  • 第四题
  • 第五题
  • 第六题

第一题

import pandas as pd
'''
"超市营业额2.xlsx"查看单日交易总额最小的3天的交易数据,并查看这3天是周几。
'''
df = pd.read_excel(r'超市营业额2.xlsx',usecols=['日期','交易额'])
df1 = df.groupby(by='日期',as_index=False).agg({'交易额':'sum'}).nsmallest(3,'交易额')
print(pd.to_datetime(df1.日期).dt.day_name())

Python教材(数据分析、数据挖掘与可视化)——第7章课后习题_第1张图片

第二题

import pandas as pd
from copy import deepcopy
'''
"超市营业额2.xlsx"把所有员工的工号前面增加一位数字,增加的数字和原工号最后一位相同,把修改后的数据写
入新文件“超市营业额2_修改工号.xlsx“。例如,工号1001变为1101,1003变为31003
'''
df = pd.read_excel('超市营业额2.xlsx')

df1 = deepcopy(df)
df1['工号'] = df['工号'].map(lambda s: str(s)[-1]+str(s))
df1.to_excel('超市营业额2修改工号.xlsx',index=False)

Python教材(数据分析、数据挖掘与可视化)——第7章课后习题_第2张图片

第三题

import pandas as pd
'''
把每个员工的交易额数据邪入文"各员工数据,xlsx",每个员工的数据占一个worksheet,结构
和"超市营业额2.xlsx"一样,并以员工姓名作为worksheet的标题
'''

df = pd.read_excel('超市营业额2.xlsx')
writer = pd.ExcelWriter('各员工数据.xlsx')
names = set(df['姓名'].values)

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

Python教材(数据分析、数据挖掘与可视化)——第7章课后习题_第3张图片

第四题

import pandas as pd
import matplotlib.pyplot as plt
'''
查阅资料,根据本章用到的文件“超市营业额2.xlsx”,绘制折线图展示一个月内柜台营业额每天的变化趋势.
'''
df = pd.read_excel('超市营业额2.xlsx')  #读取数据
df_group = df.groupby(by='日期',as_index=False).agg({'交易额':'sum'})

plt.plot(range(1,32),df_group.交易额)
plt.xlabel('日期(天)',fontproperties='simhei')
plt.ylabel('交易额(元)',fontproperties='simhei')
plt.title('折线图',fontproperties='simhei')

plt.show()

Python教材(数据分析、数据挖掘与可视化)——第7章课后习题_第4张图片

第五题

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
'''
查阅资料,根据本章用到的文件“超市营业额2.xlsx”,绘制饼状图展示该月各柜台营业额在交易总额中的占比.
'''

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

df = pd.read_excel('超市营业额2.xlsx')  #读取数据
df_group = df.groupby(by='柜台',as_index=False).agg({'交易额':'sum'})
print(df_group)

plt.pie(df_group.交易额,labels=df_group.柜台,autopct='%1.1f%%')
font = fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf')
plt.legend(prop=font)

plt.show()

Python教材(数据分析、数据挖掘与可视化)——第7章课后习题_第5张图片

第六题

import pandas as pd
import matplotlib.pyplot as plt
'''
查阅资料,根据本章用到的文件“超市营业额2.xlsx”,绘制柱状图展示张三在不同柜台的交易总额
'''
plt.rcParams['font.sans-serif'] = ['simhei']

df = pd.read_excel('超市营业额2.xlsx')  #读取数据
df_group = df[df.姓名=='张三'].groupby(by='柜台',as_index=False).agg({'交易额':'sum'})
plt.bar(df_group.柜台,df_group.交易额)
plt.xlabel('不同柜台')
plt.ylabel('交易总额')
plt.title('张三在不同柜台的交易总额')

plt.show()

Python教材(数据分析、数据挖掘与可视化)——第7章课后习题_第6张图片

你可能感兴趣的:(Python,数据可视化,python)