Помогите с этим опечаткой в ​​словаре - PullRequest
1 голос
/ 11 ноября 2010
 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 Ответ

1 голос
/ 11 ноября 2010

Я считаю, что эта ошибка может возникать при использовании Sage с numpy. Причина в том, что Sage готовит ваш вклад, так что, например, 0.6**2 переводится как RealNumber('0.6') ** Integer(2). Это позволяет обрабатывать реальные числа с произвольной точностью. К сожалению, NumPy не может справиться с этим, потому что он не знает, что такое RealNumber.

Если вы определите RealNumber = float, код должен работать; см документы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...