使用以下代码,在当前文件夹中生成某商场营业额模拟数据文件 data.csv。数据文件有两列,分别为“日期”和“营业额”。日期从2022-1-1开始,共365天,365条营业数据。 依据以上生成的模拟数据文件,完成下面的任务: (1)使用pandas读取文件data.csv中的数据,创建DataFrame对象,并删除其中所有缺失值。 (2)绘制折线图,显示该商场每天的营业额情况,并把图形保存为本地文件 Te.jpg; (3)绘制柱状图,显示每个月份的营业额,并把图形保存为本地文件 Ye.jpg; (4)按月份进行统计,找出相邻两个月最大涨幅,并把涨幅最大的月份写入文件maxMonth.txt; (5)按季度统计该商场 2022年的营业额数据,绘制饼状图显示2022年4个季度的营业额分布情况,并把图形保存为本地文件Je.jpg。
时间: 2024-03-22 13:39:00 浏览: 163
以下是完成这些任务的代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
import datetime
# 读取数据文件并删除缺失值
df = pd.read_csv('data.csv')
df.dropna(inplace=True)
# 绘制每日营业额折线图
plt.plot(df['日期'], df['营业额'])
plt.xlabel('日期')
plt.ylabel('营业额')
plt.title('商场每日营业额')
plt.savefig('Te.jpg')
plt.show()
# 统计每个月份的营业额
df['月份'] = pd.to_datetime(df['日期']).dt.month
monthly_sales = df.groupby('月份')['营业额'].sum()
# 绘制每月营业额柱状图
plt.bar(monthly_sales.index, monthly_sales)
plt.xlabel('月份')
plt.ylabel('营业额')
plt.title('商场每月营业额')
plt.savefig('Ye.jpg')
plt.show()
# 计算相邻两个月份的最大涨幅,并输出涨幅最大的月份
max_increase = 0
max_month = ''
for i in range(1, 12):
increase = monthly_sales[i+1] - monthly_sales[i]
if increase > max_increase:
max_increase = increase
max_month = str(datetime.date(2022, i+1, 1).strftime('%B'))
with open('maxMonth.txt', 'w') as f:
f.write(max_month)
# 统计每个季度的营业额
df['季度'] = pd.to_datetime(df['日期']).dt.quarter
quarterly_sales = df.groupby('季度')['营业额'].sum()
# 绘制2022年季度营业额饼状图
labels = ['第一季度', '第二季度', '第三季度', '第四季度']
plt.pie(quarterly_sales, labels=labels, autopct='%1.1f%%')
plt.title('2022年商场季度营业额占比')
plt.savefig('Je.jpg')
plt.show()
```
该代码首先使用pandas读取data.csv文件中的数据,并删除其中的缺失值。接下来,使用matplotlib绘制每日营业额折线图,并将其保存为Te.jpg文件。然后,统计每个月份的营业额,并绘制每月营业额柱状图,并将其保存为Ye.jpg文件。接着,按月份进行统计,找出相邻两个月最大涨幅,并将涨幅最大的月份写入maxMonth.txt文件。最后,按季度统计该商场2022年的营业额数据,并绘制饼状图显示2022年4个季度的营业额分布情况,并将其保存为Je.jpg文件。
阅读全文