使用在校生数据集, 1. 该校男生,女生分别有多少人,并画出饼图 2. 该校各个省分别有多少人,并画出柱型图 3. 该校各个省各个民族分别有多少人,并画出条形图
时间: 2024-10-09 10:01:04 浏览: 21
技巧145对齐的饼图数据标志共1页.pdf.zip
首先,你需要有一个包含校生信息的数据集,其中包括性别、省份和民族等字段。假设这个数据集已经加载到Pandas DataFrame中,叫做`students_df`。
1. **计算男女人数并画饼图**
```python
gender_counts = students_df['gender'].value_counts()
labels = gender_counts.index.tolist() # ['男', '女']
sizes = gender_counts.values.tolist() # [男生人数, 女生人数]
fig, ax = plt.subplots(figsize=(10, 10))
ax.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90, colors=['skyblue', 'pink'])
ax.axis('equal') # 保持圆形
plt.title('该校学生性别分布')
plt.show()
```
2. **按省份统计人数并画柱状图**
```python
province_counts = students_df['province'].value_counts().sort_index()
plt.bar(province_counts.index, province_counts.values)
plt.xlabel('省份')
plt.ylabel('人数')
plt.title('该校各省份学生分布')
plt.show()
```
3. **按省份和民族统计人数并画条形图**
```python
ethnic_distribution = students_df.groupby(['province', 'ethnicity']).size().unstack(fill_value=0).reset_index()
ethnic_distribution.plot(kind='bar', stacked=True)
plt.xlabel('省份')
plt.ylabel('民族人数')
plt.title('该校各省份各民族学生分布')
plt.legend(title='民族', loc='upper left')
plt.show()
```
阅读全文