1)给定重庆商圈数据,已存储为 Excel,请分别将重庆市每个区的数据存储到一个独立的工作表中,统计每个区的商铺数量并利用 python 在 Excel 中绘制条状图。
时间: 2023-05-28 15:05:50 浏览: 139
首先,需要读取 Excel 文件中的数据,并进行数据处理和分析。以下是实现这个任务的 Python 代码:
```python
import pandas as pd
import openpyxl
from openpyxl.chart import BarChart, Reference
# 读取 Excel 文件
df = pd.read_excel('重庆商圈数据.xlsx')
# 获取所有区的名称
districts = df['区'].unique()
# 在新的 Excel 文件中创建工作表并写入数据
output_file = '商圈数据统计.xlsx'
with pd.ExcelWriter(output_file) as writer:
for district in districts:
# 筛选出当前区的数据
district_data = df[df['区'] == district]
# 将数据写入新的工作表中
district_data.to_excel(writer, sheet_name=district, index=False)
# 统计商铺数量
num_shops = len(district_data)
print(f'{district}: {num_shops}家商铺')
# 在新的工作表中绘制条状图
wb = openpyxl.load_workbook(output_file)
ws = wb[district]
chart = BarChart()
chart.title = f'{district}商铺数量'
chart.y_axis.title = '商铺数量'
chart.x_axis.title = '商圈名称'
data = Reference(ws, min_col=2, min_row=1, max_col=2, max_row=len(district_data))
categories = Reference(ws, min_col=1, min_row=2, max_row=len(district_data))
chart.add_data(data)
chart.set_categories(categories)
chart.width = 20
chart.height = 10
ws.add_chart(chart, 'D2')
wb.save(output_file)
```
这段代码首先使用 pandas 库读取 Excel 文件中的数据,并获取所有区的名称。
接下来,使用 `pd.ExcelWriter` 创建一个新的 Excel 文件,并遍历每个区的名称。在每次循环中,我们可以使用 Pandas 将该区的数据写入一个新的工作表中。
然后,我们可以计算该区商铺数量,并使用 `openpyxl` 库在新的工作表中绘制条状图。在绘制图表时,我们需要使用 `openpyxl.chart.BarChart` 类创建一个条状图对象,设置标题和坐标轴标签,以及添加数据和类别。最后,将图表插入到工作表中,并保存 Excel 文件。
运行上述代码后,将会在同一目录下生成一个名为 `商圈数据统计.xlsx` 的新的 Excel 文件,其中包含了每个区的商圈数据和条状图。同时,控制台输出了各个区的商铺数量。
注:本代码使用了 pandas 库和 openpyxl 库,如果没有安装这些库,可以使用如下命令进行安装:
```bash
pip install pandas openpyxl
```
阅读全文