python - 帮忙解决字典中的这个打字错误

标签 python dictionary typeerror

 benfordd = dict()
 for attr in attrs:
      benfordd.setdefault(attr, []).extend([val*1e6 for val in x if not np.isnan(val)])

上面只是我的代码的一部分,为什么当我在 ipython 中运行它时,我得到这个:

类型错误:这些类型不支持函数,并且无法安全地强制转换为支持的类型。

有谁知道这需要什么值? attr 是字符串。

另外,“val”代表什么?

最佳答案

我相信将 Sage 与 numpy 一起使用时可能会发生此错误。原因是 Sage 会准备您的输入,以便例如0.6**2 转换为 RealNumber('0.6') ** Integer(2)。这使得它能够以任意精度处理实数。不幸的是,numpy 无法处理这些,因为它不知道 RealNumber 是什么。

如果您定义RealNumber = float,则代码应该可以工作;请参阅the docs .

关于python - 帮忙解决字典中的这个打字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4149076/

相关文章:

docker - Airflow 日期错误 dag.normalize_schedule TypeError

javascript - 未捕获ReferenceError : _ is not defined and Uncaught TypeError: undefined is not a function

Python线程

python - 定义后可以更改其值的整数对象?

python - 在字典声明中使用 OrderedDict

python - 在 Python 中轻松地从/到 namespace /字典转储变量

python - 即使我输入参数,也出现错误 : "missing 1 required positional argument",

python - 在 Python 中使用 Selenium 单击隐藏链接

python - 在 Python Pandas 中派生新列时出现 ValueError

JavaScript 按属性值对字典进行排序