import pandas as pdimport numpy as npimport matplotlib.pyplot as pltdf = pd.read_excel(r'C:\Users\86187\Downloads\2022蓝桥江西省赛.xls')ff = df[df['学校名称'] == "江西理工大学"]plt.rcParams['font.sans-serif'] = ['SimHei']grouped = ff.groupby(['比赛科目', '奖项'])['准考证号'].agg('count').unstack()ax = grouped.plot.bar(figsize=(5, 3))for p in ax.containers: ax.bar_label(p, label_type='edge', fontsize=8)plt.show()采用饼状图展示省内高校在C/C++B组类别中省一的比例分布
时间: 2023-08-11 09:05:26 浏览: 108
pandas,matplotlib,numpy详解
好的,根据您提供的代码,我可以为您做出修改并生成饼状图。
首先,我们需要筛选出C/C++B组类别中省一的数据,可以使用以下代码:
```python
df = pd.read_excel(r'C:\Users\86187\Downloads\2022蓝桥江西省赛.xls')
df = df[(df['比赛科目'] == 'C/C++B组') & (df['奖项'] == '省一')]
```
接下来,我们需要进行统计,计算每个高校获得省一的次数,可以使用以下代码:
```python
grouped = df.groupby('学校名称')['准考证号'].count()
```
最后,我们可以使用Matplotlib来绘制饼状图:
```python
plt.pie(grouped.values, labels=grouped.index)
plt.show()
```
完整代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel(r'C:\Users\86187\Downloads\2022蓝桥江西省赛.xls')
df = df[(df['比赛科目'] == 'C/C++B组') & (df['奖项'] == '省一')]
grouped = df.groupby('学校名称')['准考证号'].count()
plt.pie(grouped.values, labels=grouped.index)
plt.show()
```
运行代码后,即可生成饼状图展示省内高校在C/C++B组类别中省一的比例分布。
阅读全文