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

Kaggle Notebook中query()与isin()组合报错问题求助

解决Kaggle Notebook中.query()结合.isin()的报错问题

出现TypeError: unhashable type: 'numpy.ndarray'的原因是Kaggle环境中,.query()的字符串解析器会把括号里的列表自动转换为numpy数组,而numpy数组是不可哈希类型,导致报错(Jupyter的解析逻辑和Kaggle有差异,所以能正常运行)。以下是几种可行的解决方法:

  • 方法一:引用外部变量+取反操作
    先把要排除的值定义为外部变量,用@符号在.query()中引用,同时用~替代==False做取反,更符合pandas规范:

    exclude_list = ["Squad Total", "Opponent Total"]
    standard_stats = standard_stats.query('~`Unnamed: 0_level_0_Player`.isin(@exclude_list)')
    
  • 方法二:直接使用布尔索引(推荐)
    绕过.query()的字符串解析问题,直接在DataFrame上做布尔过滤,兼容性更强:

    exclude_list = ["Squad Total", "Opponent Total"]
    standard_stats = standard_stats[~standard_stats['Unnamed: 0_level_0_Player'].isin(exclude_list)]
    
  • 方法三:将列表改为元组
    元组是可哈希类型,直接在.query()的字符串里用元组替代列表即可:

    standard_stats = standard_stats.query('`Unnamed: 0_level_0_Player`.isin(("Squad Total","Opponent Total"))==False')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 23:42:06