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

pandas按sex分组后绘制region的hist直方图无法分开显示如何解决

解决方案

原代码运行后两个子图出现在同一画布,是因为pandas默认将groupby后的所有分组绘图结果输出到当前活动的同一画布对象上,每次绘制前新建独立画布即可实现分开绘制,以下是可直接运行的实现代码:

方法1:遍历分组自动绘制(适用于分组数量多的场景)

import pandas as pd
import matplotlib.pyplot as plt

# 读取数据集
data = pd.read_csv('insurance.csv')

# 按性别分组遍历,每组单独绘制一个画布
for gender, group_df in data.groupby('sex'):
    # 新建独立画布,可自定义画布尺寸
    plt.figure(figsize=(6, 4))
    group_df['region'].hist()
    # 自定义图表信息
    plt.title(f'{gender}人群地区分布')
    plt.xlabel('地区')
    plt.ylabel('人数')
    # 若需要保存单张图,可在此处添加保存代码:plt.savefig(f'{gender}地区分布.png')

plt.show()

方法2:手动筛选分组绘制(适用于分组数量少的场景)

import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('insurance.csv')

# 单独绘制女性地区分布
plt.figure(figsize=(6,4))
data[data['sex'] == 'female']['region'].hist()
plt.title('女性人群地区分布')

# 单独绘制男性地区分布
plt.figure(figsize=(6,4))
data[data['sex'] == 'male']['region'].hist()
plt.title('男性人群地区分布')

plt.show()

内容的提问来源于stack exchange,提问作者matteofolli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:36:03