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

使用Pandas分组后用Seaborn绘制箱线图无输出,求解决

问题分析与修正方案

你的代码存在几个关键问题导致无法生成箱线图,以下是具体问题和修正后的代码:

关键错误点

  • 无需提前分组:Seaborn的boxplot可直接接收原始DataFrame,通过指定x和y参数自动完成分组,提前用groupby得到的GroupBy对象无法被boxplot正确解析。
  • 参数使用错误:x参数应传入列名字符串("Day of Week"),若要指定星期的显示顺序,需用order参数传入列表,而非把列表传给x。
  • 标签格式错误:set()方法中的xlabel和ylabel需传入字符串,而非列表。
  • 冗余代码与拼写错误:box_plt.plot()是多余的,Seaborn绘制后已生成图表;plot.show()应为plt.show(),模块名拼写错误。

修正后的代码

import pandas as pd
import seaborn as sb
import matplotlib.pyplot as plt

# 读取数据(替换为你的实际文件路径)
scooters = pd.read_csv("你的数据集路径.csv")
# pd.read_csv返回的就是DataFrame,无需额外转换
df = scooters

# 指定x为星期列,y为时长列,order控制星期的显示顺序
box_plt = sb.boxplot(data=df, x="Day of Week", y="Trip Duration", 
                     order=['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'])
# 设置坐标轴标签
box_plt.set(xlabel="Day of Week", ylabel="Trip Duration")
# 显示图表
plt.show()

补充说明

如果你的"Day of Week"列中的值不是['mon', 'tue', ...]这种格式,需确保order参数中的值和列中的实际值完全匹配,否则对应星期的箱线图不会显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:05:48