простой пример из справочника не работает, как ожидалось - PullRequest
1 голос
/ 08 октября 2011

Следующий код взят из руководства Numpy 1.4.1, numpy.char

import numpy as np
charar = np.chararray((3, 3))
charar[:, :] = 'abc'
print charar

В соответствии с руководством предполагается вывод

chararray([['a', 'a', 'a'],
       ['a', 'a', 'a'],
       ['a', 'a', 'a']],
      dtype='|S1')

Вместо этого я получаю

[['\xd8' '3' 'U']
 ['\xb7' '\x18' '\xc2']
 ['\xbd' '' '\x10']]

Это похоже на неинициализированные значения.У кого-нибудь есть идеи, что здесь происходит?Я использую пакет numpy для Debian squeeze, который, как я понимаю, устарел, но у меня возникают некоторые проблемы с переносом пакета 1.6 из нестабильного.

ОБНОВЛЕНИЕ: теперь я перенес пакет 1.6 изнестабильный, без документов, которые по какой-то причине не будут создаваться.Я получаю точно такие же результаты.Я думаю, я пойду дальше и сообщу об этом в тупик проекта.

1 Ответ

2 голосов
/ 08 октября 2011

У меня не установлен numpy 1.4 на моей машине, но, конечно, если я запускаю код, который вы написали, я получаю аналогичный ответ, который не соответствует руководству.Однако следует отметить, что в самой последней версии руководства numpy пример изменился:

>>> charar = np.chararray((3, 3))
>>> charar[:] = 'a'
>>> charar
chararray([['a', 'a', 'a'],
       ['a', 'a', 'a'],
       ['a', 'a', 'a']],
      dtype='|S1')

См. http://docs.scipy.org/doc/numpy/reference/generated/numpy.chararray.html

Кроме того, np.chararray post v1.4 включен тольков numpy для обратной совместимости с Numarray, а в руководстве говорится, что его не следует использовать для новых разработок.

Надеюсь, это поможет.

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