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

Jupyter Notebook分组代码运行报错:NameError问题求助

问题排查与解决

错误根源分析

  1. 首次代码的直接错误:第二行代码中,你错误地将右侧的变量写成了df_grouped_one(这个变量此时还未定义),正确的应该是使用已经定义好的df_group_one。
  2. 修改后仍报错的核心原因:大概率是Jupyter Notebook的单元格执行顺序错误——你可能先执行了分组赋值的代码,再执行df_group_one = df[['drive-wheels','body-style','price']]这行定义代码,导致执行分组代码时df_group_one还未被创建。

解决方案

方案1:使用独立变量保存分组结果(推荐,避免覆盖原始数据)

将代码按顺序执行,要么放在同一个单元格,要么先执行定义子集的代码,再执行分组代码:

# 第一步:创建包含目标列的数据子集
df_group_one = df[['drive-wheels','body-style','price']]
# 第二步:按drive-wheels分组并计算均值,用新变量保存结果
df_grouped_one = df_group_one.groupby(['drive-wheels'], as_index=False).mean()
# 查看分组后的结果
df_grouped_one

方案2:覆盖原变量(需确保执行顺序正确)

如果一定要覆盖df_group_one,必须保证先执行子集定义代码,再执行分组代码:

# 先执行这行,创建初始子集
df_group_one = df[['drive-wheels','body-style','price']]
# 再执行这行,对现有子集分组聚合
df_group_one = df_group_one.groupby(['drive-wheels'], as_index=False).mean()
# 查看结果
df_group_one

额外说明

  • body-style是字符串类型的列,执行mean()时会被自动排除,所以最终结果只会包含drive-wheels和price的均值,这是Pandas的正常行为。
  • 在Jupyter中,务必注意单元格的执行顺序(右上角的数字标记是执行顺序),确保变量定义的代码先于使用该变量的代码执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:13:13