【问题标题】:Help with this typerror in a dictionary在字典中帮助这个打字错误
【发布时间】:2011-05-08 03:18:15
【问题描述】:
 benfordd = dict()
 for attr in attrs:
      benfordd.setdefault(attr, []).extend([val*1e6 for val in x if not np.isnan(val)])

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

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

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

p.s.,“val”代表什么?

【问题讨论】:

标签: python dictionary typeerror


【解决方案1】:

我相信在将 Sage 与 numpy 一起使用时可能会发生此错误。原因是 Sage 会预先解析您的输入,例如0.6**2 被翻译成RealNumber('0.6') ** Integer(2)。这允许它以任意精度处理实数。不幸的是,numpy 无法处理这些,因为它不知道 RealNumber 是什么。

如果你定义RealNumber = float,代码应该可以工作;见the docs

【讨论】:

  • 它不起作用,但感谢您在那个方向上指出我,我会调查它。如果您有任何其他想法,请告诉我!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 2014-04-09
  • 2010-11-14
  • 1970-01-01
相关资源
最近更新 更多