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

基于Age列拆分DataFrame并绘制分年龄组配对直方图

解决方案:分年龄组绘制Location配对直方图

1. 拆分DataFrame为各年龄组

直接用布尔索引筛选出每个年龄组的独立数据集:

import pandas as pd
from ggplot import *

# 假设原始数据集名为df
baby_df = df[df['Age'] == 'Baby']
teen_df = df[df['Age'] == 'Teen']
adult_df = df[df['Age'] == 'Adult']

2. 分年龄组绘制配对直方图

有两种实用方法,按需选择:

方法一:用ggplot分面一次性生成所有组(推荐)

不用拆分数据集,直接通过分面功能按Age分组,同时用填充色区分West和East,实现每个年龄组内的配对对比:

p = ggplot(df, aes(x='Length', fill='Location')) + \
    # position='dodge'让两个Location的直方图并排呈现配对效果
    geom_histogram(position='dodge', bins=15, alpha=0.7) + \
    # 按Age拆分出独立子图
    facet_wrap('~Age') + \
    labs(title='Length分布:分年龄组对比东西区域', x='Length', y='数量') + \
    scale_fill_manual(values=['#1f77b4', '#ff7f0e'])

print(p)

方法二:单独绘制每个年龄组的图

如果需要单独导出每个年龄组的可视化结果,循环处理拆分后的数据集即可:

age_groups = {'Baby': baby_df, 'Teen': teen_df, 'Adult': adult_df}

for group_name, data in age_groups.items():
    p = ggplot(data, aes(x='Length', fill='Location')) + \
        geom_histogram(position='dodge', bins=15, alpha=0.7) + \
        labs(title=f'Length分布 - {group_name}组', x='Length', y='数量') + \
        scale_fill_manual(values=['#1f77b4', '#ff7f0e'])
    print(p)
    # 如需保存图片,取消下面注释
    # p.save(f'{group_name}_length_hist.png')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 00:13:08