Python对Excel分析每个订单金额的分布情况,绘制每个订单金额分布饼图(分成0-200,200-400,400-600,600-800,800-1000,1000以上六种情况)
时间: 2023-08-28 22:05:06 浏览: 83
首先我们需要安装 `pandas` 和 `matplotlib` 这两个库,它们可以用来读取 Excel 文件并绘制饼图。
安装方法如下:
```python
pip install pandas matplotlib
```
然后我们可以使用以下代码来读取 Excel 文件并绘制饼图:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取 Excel 文件
df = pd.read_excel('data.xlsx')
# 将订单金额按照指定范围分组
bins = [0, 200, 400, 600, 800, 1000, float('inf')]
labels = ['0-200', '200-400', '400-600', '600-800', '800-1000', '1000以上']
df['group'] = pd.cut(df['订单金额'], bins=bins, labels=labels)
# 统计每个分组的数量
counts = df['group'].value_counts()
# 绘制饼图
plt.pie(counts, labels=counts.index, autopct='%1.1f%%')
plt.title('每个订单金额分布情况')
plt.show()
```
这段代码会将 Excel 文件中的 `订单金额` 列按照指定的分组范围进行分组,并统计每个分组的数量。然后使用 `matplotlib` 库绘制饼图,展示每个订单金额分布情况。
需要注意的是,我们在分组时使用了 `cut` 函数,它可以将一列数据按照指定的分组范围进行分组,并返回一个新的 Series 对象。在这个新的 Series 对象中,每个元素都是一个分组标签,代表数据所属的分组。我们将这个分组标签存储到了原始的 DataFrame 中的一个新列 `group` 中,以便后续统计每个分组的数量。
完整代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取 Excel 文件
df = pd.read_excel('data.xlsx')
# 将订单金额按照指定范围分组
bins = [0, 200, 400, 600, 800, 1000, float('inf')]
labels = ['0-200', '200-400', '400-600', '600-800', '800-1000', '1000以上']
df['group'] = pd.cut(df['订单金额'], bins=bins, labels=labels)
# 统计每个分组的数量
counts = df['group'].value_counts()
# 绘制饼图
plt.pie(counts, labels=counts.index, autopct='%1.1f%%')
plt.title('每个订单金额分布情况')
plt.show()
```