资源简介

生成饭店营业额模拟数据文件data.csv,使用pandas读取文件data.csv中的数据,删除其中所有缺失值;使用matplotlib生成折线图,反应该饭店每天的营业额情况,并把图形保存为本地文件first.jpg;按月份进行统计,使用matplotlib绘制柱状图显示每个月份的营业额,并把图形保存为本地文件second.jpg;按月份进行统计,找出相邻两个月最大涨幅,并把涨幅最大的月份写入文件 maxMonth.txt;按季度统计该饭店2017年的营业额数据,使用matplotlib生成饼状图显示2017年4个季度的营业额分布情况,并把图形保存为本地文件third.jpg。

代码片段和文件信息

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据,丢弃缺失值
df = pd.read_csv(‘data.csv‘ encoding=‘cp936‘)
df = df.dropna()

# 生成营业额折线图
plt.figure()
df.plot(x=‘日期‘)
plt.savefig(‘first.jpg‘)

# 按月统计,生成柱状图
plt.figure()
df1 = df[:]
df1[‘month‘] = df1[‘日期‘].map(lambda x: x[:x.rindex(‘-‘)])
df1 = df1.groupby(by=‘month‘ as_index=False).sum()
df1.plot(x=‘month‘ kind=‘bar‘)
plt.savefig(‘second.jpg‘)

# 查找涨幅最大的月份,写入文件
df2 = df1.drop(‘month‘ axis=1).diff()
m = df2[‘销量‘].nlargest(1).keys()[0]
with open(‘maxMonth.txt‘ ‘w‘) as fp:
    fp.write(df1.loc[m ‘month‘])

# 按季度统计,生成饼状图
plt.figure()
one = df1[:3][‘销量‘].sum()
two = df1[3:6][‘销量‘].sum()
three = df1[6:9][‘销量‘].sum()
four = df1[9:12][‘销量‘].sum()
plt.pie([one two three four]labels=[‘one‘ ‘two‘ ‘three‘

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         972  2019-10-27 10:13  analyze.py
     文件         611  2019-10-27 10:18  data.py

评论

共有 条评论