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

Kaggle notebook单cell运行多列求众数命令仅返回首个结果如何解决

原因

Kaggle Notebook 遵循 Jupyter 系列工具的默认规则:单元格运行时仅会打印最后一行表达式的返回结果,你写的中间几行众数计算代码仅会执行,不会自动输出。你现在看到的输出TV-MA,实际是最后一行data['rating'].mode()的运行结果,不是第一列的结果。

解决方法
  • 方法1:给每一行计算语句加上print(),强制打印输出
    代码示例:

    print(data['director'].mode())
    print(data['cast'].mode())
    print(data['country'].mode())
    print(data['date_added'].mode())
    print(data['rating'].mode())
    
  • 方法2:批量计算后统一输出规整结果
    如果你想把所有列的众数汇总成一张表查看,可以用apply批量计算:

    # 取每列的第一个众数,存在Series中直接打印即可
    mode_res = data[['director', 'cast', 'country', 'date_added', 'rating']].apply(lambda x: x.mode()[0])
    print(mode_res)
    
    # 如果某列可能存在多个众数,想要全部展示,可以改成以下写法
    mode_res = data[['director', 'cast', 'country', 'date_added', 'rating']].apply(lambda x: list(x.mode()))
    print(mode_res)
    
  • 方法3:修改全局输出配置,无需修改原有计算代码
    在单元格开头添加两行配置,即可让单元格内所有表达式的结果都自动打印:

    from IPython.core.interactiveshell import InteractiveShell
    InteractiveShell.ast_node_interactivity = "all"
    
    # 原有代码不用修改
    data['director'].mode()
    data['cast'].mode()
    data['country'].mode()
    data['date_added'].mode()
    data['rating'].mode()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:36:05