在字典中帮助解决这个typerror

时间:2010-11-10 21:07:11

标签: 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中运行时,我得到了这个:

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

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

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

1 个答案:

答案 0 :(得分:1)

我相信在使用Sump with numpy时会发生此错误。原因是Sage预先准备了您的输入,以便例如0.6**2已翻译为RealNumber('0.6') ** Integer(2)。这允许它以任意精度处理实数。不幸的是,numpy无法处理这些,因为它不知道RealNumber是什么。

如果您定义RealNumber = float,代码应该有效;见the docs