按照下列各题的要求,用python语言分别编写5个程序。1.使用以下代码,在当前文件夹中生成某商场营业额模拟数据文件 data.csv。数据文件有两列,分别为“日期”和“营业额”。日期从2022-1-1开始,共365天,365条营业数据。 ```python import csv import random import datetime fn = 'data.csv' with open(fn, 'w') as fp: # 创建 csv 文件写入对象 wr = csv.writer(fp) # 写入表头 wr.writerow(['日期', '营业额']) # 生成模拟数据 startDate = datetime.date(2022, 1, 1) # 生成 365 个模拟数据 for i in range(365): # 生成一个模拟数据,写入 csv 文件 amount = 500 + i*5 + random.randrange(100) wr.writerow([str(startDate), amount]) # 下一天 startDate = startDate + datetime.timedelta(days=1) ``` 依据以上生成的模拟数据文件,完成下面的任务: (1)使用pandas读取文件data.csv中的数据,创建DataFrame对象,并删除其中所有缺失值。 (2)绘制折线图,显示该商场每天的营业额情况,并把图形保存为本地文件 Te.jpg; (3)绘制柱状图,显示每个月份的营业额,并把图形保存为本地文件 Ye.jpg; (4)按月份进行统计,找出相邻两个月最大涨幅,并把涨幅最大的月份写入文件maxMonth.txt; (5)按季度统计该商场 2022年的营业额数据,绘制饼状图显示2022年4个季度的营业额分布情况,并把图形保存为本地文件Je.jpg。
时间: 2024-03-21 10:44:22 浏览: 44
程序1:读取数据文件并创建DataFrame对象,并删除其中所有缺失值
```python
import pandas as pd
# 读取数据文件
df = pd.read_csv('data.csv')
# 删除所有缺失值
df.dropna(inplace=True)
```
程序2:绘制每天的营业额折线图,并保存为本地文件
```python
import matplotlib.pyplot as plt
# 绘制折线图
plt.plot(df['日期'], df['营业额'])
# 添加标题和标签
plt.title('每天的营业额情况')
plt.xlabel('日期')
plt.ylabel('营业额')
# 保存图像到本地文件
plt.savefig('Te.jpg')
# 显示图像
plt.show()
```
程序3:绘制每个月份的营业额柱状图,并保存为本地文件
```python
import matplotlib.pyplot as plt
# 按月份分组,并计算每个月份的总营业额
monthly_sales = df.groupby(df['日期'].str.slice(0, 7))['营业额'].sum()
# 绘制柱状图
monthly_sales.plot(kind='bar')
# 添加标题和标签
plt.title('每个月份的营业额')
plt.xlabel('月份')
plt.ylabel('营业额')
# 保存图像到本地文件
plt.savefig('Ye.jpg')
# 显示图像
plt.show()
```
程序4:统计相邻两个月份最大涨幅,并写入文件maxMonth.txt
```python
# 按月份分组,并计算每个月份的总营业额
monthly_sales = df.groupby(df['日期'].str.slice(0, 7))['营业额'].sum()
# 计算每个月份的涨幅
monthly_growth = monthly_sales.pct_change()
# 找到最大涨幅的索引
max_growth_index = monthly_growth.abs().argmax()
# 获取相邻两个月份的名称
max_growth_months = monthly_growth.index[max_growth_index-1:max_growth_index+1]
# 将结果写入文件
with open('maxMonth.txt', 'w') as f:
f.write(max_growth_months[0] + ' 和 ' + max_growth_months[1] + ' 涨幅最大')
```
程序5:统计2022年4个季度的营业额数据,并绘制饼状图,保存为本地文件Je.jpg
```python
import matplotlib.pyplot as plt
# 按季度分组,并计算每个季度的总营业额
quarterly_sales = df.groupby(pd.PeriodIndex(df['日期'], freq='Q'))['营业额'].sum()
# 绘制饼状图
quarterly_sales.plot(kind='pie', autopct='%1.1f%%')
# 添加标题和标签
plt.title('2022年4个季度的营业额分布情况')
plt.xlabel('')
plt.ylabel('')
# 保存图像到本地文件
plt.savefig('Je.jpg')
# 显示图像
plt.show()
```
阅读全文