Длинный массив Numpy не может быть напечатан полностью?

StackOverflow https://stackoverflow.com/questions/4528612

Вопрос

Я пытаюсь распечатать полное содержимое двух массивов 1001x1, но Python дает мне только усеченную выводу что -то вроде этого:

array([[5,45],
       [1,23],
       ......,
       [1,24],
       [2,31]])  

вместо полного массива.

Кто -нибудь может дать мне решение о том, как получить полный массив 1001x1?

Это было полезно?

Решение

Я догадаюсь, что вы попробовали простое заявление, как:

print myarray

... а не что -то более явное, как:

for each_item in myarray:
    print each_item

... или даже:

print ', '.join([str(x) for x in myarray])

Причина, по которой вы видите общеизвестный выход, предположительно, потому что numpy Реализации а _str_ Метод в его array Класс, который пытается дать «повторное» представление строки по умолчанию массива. Они, по -видимому, предполагают, что это просто print Заявления будут использоваться главным образом для отладки, ведения журнала или аналогичных целей, и что отчетность о результатах или маршалирование результатов для других процессов или хранилища будет выполнена с использованием более явных итераций по данным (как я здесь показал).

Другие советы

Смотрите раздел Печатные массивы В учебном пособии Numpy:

Если массив слишком большой, чтобы его напечатал, Numpy автоматически пропускает центральную часть массива и печатает только углы:

>>> print(np.arange(10000))
[   0    1    2 ..., 9997 9998 9999]

...

Чтобы отключить это поведение и заставить Numpy печатать весь массив, вы можете изменить параметры печати с помощью set_printoptions.

>>> np.set_printoptions(threshold=nan)

А np.set_printoptions Функция является частью библиотеки Numpy.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top