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

Python中基于列筛选绘制汽车品牌Rev.per.mile箱线图遇阻求助

解决方案

你的代码问题出在构造uru数据框时的逻辑错误,导致数据不匹配:

  • 原代码中Manufacturer列赋值的是包含所有列的筛选后DataFrame,而非单独的Manufacturer列
  • Rev.per.mile取的是整个数据集的列,和筛选后的Manufacturer行数不一致,无法正确生成有效数据框

以下是两种可行的修正方案:

方案一:直接筛选原数据后绘图

这是最简洁的方式,无需额外构造新数据框:

# 筛选目标品牌的行
filtered_cars = cars[cars['Manufacturer'].isin(['Audi', 'Suzuki', 'Toyota'])]
# 绘制箱线图
sns.boxplot(data=filtered_cars, x='Manufacturer', y='Rev.per.mile')

方案二:正确构造新数据框

如果你需要单独生成uru数据框,确保两列都取筛选后的对应行:

# 用loc精准筛选行和列
uru = cars.loc[
    cars['Manufacturer'].isin(['Audi', 'Suzuki', 'Toyota']),
    ['Manufacturer', 'Rev.per.mile']
]

# 绘制箱线图
sns.boxplot(data=uru, x='Manufacturer', y='Rev.per.mile')

额外处理(可选)

如果Rev.per.mile存在缺失值,可添加dropna()避免绘图异常:

filtered_cars = cars[cars['Manufacturer'].isin(['Audi', 'Suzuki', 'Toyota'])].dropna(subset=['Rev.per.mile'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 10:33:16