如何用python 把excel的某一列数据按照区间分组并绘制饼图
时间: 2023-07-27 12:29:56 浏览: 157
可以使用 Pandas 和 Matplotlib 库来完成此任务。
首先,需要安装 Pandas 和 Matplotlib 库:
```
pip install pandas
pip install matplotlib
```
接下来,可以使用 Pandas 读取 Excel 文件,将数据加载到 DataFrame 中:
```python
import pandas as pd
df = pd.read_excel('data.xlsx')
```
假设要对 DataFrame 中的 "score" 列数据进行分组并绘制饼图。可以使用 Pandas 的 cut 方法将数据按照区间分组:
```python
# 定义分组边界
bins = [0, 60, 70, 80, 90, 100]
# 将数据按照分组边界分组
df['group'] = pd.cut(df['score'], bins)
# 统计每个分组的数量
group_count = df['group'].value_counts()
```
接下来,可以使用 Matplotlib 绘制饼图:
```python
import matplotlib.pyplot as plt
# 绘制饼图
plt.pie(group_count, labels=group_count.index, autopct='%1.1f%%')
plt.title('Score Distribution')
plt.show()
```
完整代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取 Excel 文件
df = pd.read_excel('data.xlsx')
# 定义分组边界
bins = [0, 60, 70, 80, 90, 100]
# 将数据按照分组边界分组
df['group'] = pd.cut(df['score'], bins)
# 统计每个分组的数量
group_count = df['group'].value_counts()
# 绘制饼图
plt.pie(group_count, labels=group_count.index, autopct='%1.1f%%')
plt.title('Score Distribution')
plt.show()
```
请注意,此示例代码仅供参考,实际应用中需要根据数据格式和需求进行适当修改。
阅读全文