Este artículo ha sido aprobado por nuestros expertos así aseguramos la veracidad de nuestra esta división.
Solución:
Intenta usar repr
>>> import numpy as np
>>> points = np.array([[-468.927, -11.299, 76.271, -536.723],
... [-429.379, -694.915, -214.689, 745.763],
... [ 0., 0., 0., 0. ]])
>>> print repr(points)
array([[-468.927, -11.299, 76.271, -536.723],
[-429.379, -694.915, -214.689, 745.763],
[ 0. , 0. , 0. , 0. ]])
Si planea usar grandes matrices numpy, configure np.set_printoptions(threshold=np.nan)
primero. Sin eso, el array la representación se truncará después de aproximadamente 1000 entradas (por defecto).
>>> arr = np.arange(1001)
>>> print repr(arr)
array([ 0, 1, 2, ..., 998, 999, 1000])
Por supuesto, si tiene matrices tan grandes, esto comienza a ser menos útil y probablemente debería analizar los datos de otra manera que no sea solo mirarlos y hay mejores formas de persistir un numpy array que guardarlo es repr
a un archivo…
Ahora, en numpy 1.11, hay numpy.array2string
:
In [279]: a = np.reshape(np.arange(25, dtype='int8'), (5, 5))
In [280]: print(np.array2string(a, separator=', '))
[[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]]
Comparado con repr
de @mgilson (muestra “array()” y dtype
):
In [281]: print(repr(a))
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]], dtype=int8)
PD Todavía necesito np.set_printoptions(threshold=np.nan)
para grande array.
Otra forma de hacerlo, que es particularmente útil cuando un objeto no tiene un método __repr__(), es emplear el módulo pprint de Python (que tiene varias opciones de formato). Esto es lo que parece, por ejemplo:
>>> import numpy as np
>>> import pprint
>>>
>>> A = np.zeros(10, dtype=np.int64)
>>>
>>> print(A)
[0 0 0 0 0 0 0 0 0 0]
>>>
>>> pprint.pprint(A)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])