【问题标题】:TypeError: unhashable type: 'numpy.ndarray' when I use Series.str.len() in pandas query?TypeError: unhashable type: 'numpy.ndarray' 当我在 pandas 查询中使用 Series.str.len() 时?
【发布时间】:2022-01-13 17:21:21
【问题描述】:

我遇到了一个问题,当我在 pandas 查询方法中使用 Series.str.len() 时,实际上我的某些环境不支持 Series.str 的所有功能,但在其他环境中工作,所有这些envs 具有几乎相同版本的 pandas 和 numpy。 (我确信 Series.str.xxxxx 之前可以在我所有的环境中工作)

Env1

Python 3.9.7

numpy==1.21.4

熊猫==1.3.4

当我运行pd.DataFrame(columns=['core_text']).query("core_text.str.len()>1") 时,它引发了

Traceback(最近一次调用最后一次): 文件“”,第 1 行,在 查询中的文件“/Users/huhon/miniconda3/envs/venv_dev/lib/python3.9/site-packages/pandas/core/frame.py”,第 4060 行 res = self.eval(expr, **kwargs) 文件“/Users/huhon/miniconda3/envs/venv_dev/lib/python3.9/site-packages/pandas/core/frame.py”,第 4191 行,在 eval return _eval(expr, inplace=inplace, **kwargs) 文件“/Users/huhon/miniconda3/envs/venv_dev/lib/python3.9/site-packages/pandas/core/computation/eval.py”,第 353 行,在 eval ret = eng_inst.evaluate() 文件“/Users/huhon/miniconda3/envs/venv_dev/lib/python3.9/site-packages/pandas/core/computation/engines.py”,第 80 行,在评估中 res = self._evaluate() _evaluate 中的文件“/Users/huhon/miniconda3/envs/venv_dev/lib/python3.9/site-packages/pandas/core/computation/engines.py”,第 120 行 _check_ne_builtin_clash(self.expr) _check_ne_builtin_clash 中的文件“/Users/huhon/miniconda3/envs/venv_dev/lib/python3.9/site-packages/pandas/core/computation/engines.py”,第 36 行 名称 = expr.names 文件“/Users/huhon/miniconda3/envs/venv_dev/lib/python3.9/site-packages/pandas/core/computation/expr.py”,第 834 行,名称 返回frozenset(com.flatten(self.terms)中的term.name) TypeError: unhashable type: 'numpy.ndarray'

Env2

Python 3.9.9

numpy==1.21.4

熊猫==1.3.4

完美运行。

有人可以帮忙吗?提前致谢!

【问题讨论】:

  • 您能否检查一下 1) numexpr 是否已安装 2) 请检查每个 env 中的版本?
  • 你的数据是什么样的?
  • @Corralien 是的,它是 numexpr!在我卸载 numexpr 后它现在可以工作了,非常感谢!

标签: python pandas


【解决方案1】:

问题可能出在numexpr 的版本上。此模块评估 Pandas 的所有字符串表达式,例如 querypd.eval

解决方案是升级您的numexpr 版本(或删除并重新安装)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多