You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib饼图格式化问题:如何分类展示降雨概率

解决方案

首先需要先对降雨量数据进行二分类处理,将原有的连续/离散降雨量数值合并为「降雨(Yes)」和「不降雨(No)」两类,再基于分类结果统计占比并绘制饼图。具体步骤如下:

1. 生成降雨分类列

使用numpy.where快速判断每条数据的降雨量所属类别,这是高效的向量化处理方式,适合大数据量场景:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 新增分类列:降雨量>0标记为"降雨(Yes)",否则标记为"不降雨(No)"
df['Rain_Category'] = np.where(df['Rainfall'] > 0, '降雨(Yes)', '不降雨(No)')

2. 绘制分类饼图

基于新生成的分类列统计数量,直接传入饼图函数即可生成两类占比的可视化:

# 统计两类的出现次数
category_counts = df['Rain_Category'].value_counts()

# 绘制饼图
plt.pie(category_counts.values,
        labels=category_counts.index,
        autopct='%1.1f%%',
        startangle=90)  # 设置起始角度,让分类展示更直观
plt.title('降雨概率分布')  # 添加饼图标题
plt.axis('equal')  # 强制饼图为正圆形,避免画布比例导致的变形
plt.show()

3. 按分类分组计算均值

如果需要按降雨分类计算其他列的均值,修改groupby的分组键为新生成的分类列即可:

# 按降雨分类分组,计算各列均值
category_mean = df.groupby('Rain_Category').mean()
print(category_mean)

内容的提问来源于stack exchange,提问作者John.R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:10:58