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

如何用Seaborn以Pandas DataFrame的A列为hue绘制B、C列箱线图

解决方法

问题出在你melt的时候丢了A列的分组信息,直接对原DataFrame做melt并保留A列作为分组依据就行:

import pandas as pd
import seaborn as sb

df = pd.DataFrame({'A':['a','a','b','a','b'],'B':[1,3,5,4,7],'C':[2,3,4,1,3]})
# 融化时保留A列作为id变量,让每个数值都对应原有的分组A
melted_df = pd.melt(df, id_vars='A', value_vars=['B', 'C'])
# 绘制箱线图,指定hue为A列实现分组
sb.boxplot(data=melted_df, x="variable", y="value", hue="A", palette='Blues')

关键说明

  • pd.melt的id_vars参数用来指定不需要被融化的列,这里就是分组用的A列,这样融化后的每一行都会带上对应的分组标记
  • 融化后的variable列对应原来的B、C列名,value列对应B、C的数值,配合hue="A"就能实现按A分组展示B、C两列的箱线图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:00:55