Quiero convertir a = [1,2,3,4,5]
en a_string = "1 2 3 4 5"
. La matriz numpy real es bastante grande (50000x200) así que supongo que usar for loops
es demasiado lento.Cómo imprimir una matriz Numpy sin corchetes?
Respuesta
Usted puede utilizar el método join
de cadena:
>>> a = [1,2,3,4,5]
>>> ' '.join(map(str, a))
"1 2 3 4 5"
Numpy proporciona dos funciones para este array_str y array_repr - ya sea de los cuales debe ajustarse a sus necesidades. Dado que se puede utilizar ya sea, he aquí un ejemplo de cada uno:
>>> from numpy import arange, reshape, array_str
>>> M = arange(10).reshape(2,5)
>>> M
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
>>> array_str(M)
'[[0 1 2 3 4]\n [5 6 7 8 9]]'
>>> array_repr(M)
'array([[0, 1, 2, 3, 4],\n [5, 6, 7, 8, 9]])'
Estas dos funciones son altamente optimizados y, como tal, debe ser preferida a través de una función que puede ser que escriba usted mismo. Cuando se trata de matrices de este tamaño, me imagino que querrás toda la velocidad que puedas obtener.
Usar funciones incorporadas definitivamente es una ventaja, pero aún deja los paréntesis adentro. Así que esto método superior para otros casos, pero similares. +1 – Framester
Dijiste que necesitas guardar la cadena en un archivo. Si tiene planes de recuperar más tarde la cadena de ese archivo, podría ser útil tener los corchetes. Además, una combinación de sub-cadenas y divisiones() eliminaría los corchetes. – mau5padd
Si tiene una matriz numpy , para empezar en lugar de una lista (ya que usted menciona una "matriz numpy real" en su entrada) se puede utilizar re.sub
en la representación de cadena de la matriz:
print(re.sub('[\[\]]', '', np.array_str(a)))
De nuevo, esto supone que su matriz a
era una matriz numpy en algún momento. Esto tiene la ventaja de trabajar también en matrices.
np.savetxt
import numpy as np
import sys
a = np.array([[0.0, 1.0, 2.0, 3.0]])
np.savetxt(sys.stdout, a)
Salida:
0.000000000000000000e+00 1.000000000000000000e+00 2.000000000000000000e+00 3.000000000000000000e+00
O si la matriz se invierte:
a = np.array([0.0, 1.0, 2.0, 3.0])
np.savetxt(sys.stdout, a, newline=" ")
O si realmente necesita una cadena:
import StringIO
s = StringIO.StringIO()
np.savetxt(s, a)
print s.getvalue()
Se puede controlar con precisión para obtener fmt
:
np.savetxt(sys.stdout, a, fmt="%.3f")
de salida:
0.000 1.000 2.000 3.000
o:
np.savetxt(sys.stdout, a, fmt="%i")
de salida:
0 1 2 3
Probado en Python 2.7.12, numpy 1.11.1.
- 1. Imprimir matriz sin corchetes y comas
- 2. Java: ¿Imprimir LinkedList sin corchetes?
- 3. Imprimir lista sin corchetes en una sola fila
- 4. ¿Cómo imprimir todo el conjunto de NumPy?
- 5. Cómo analizar una matriz numpy?
- 6. accediendo a valores de matriz sin corchetes en php
- 7. ¿Puedo limpiar una matriz numpy sin un bucle?
- 8. ¿Cómo generar audio desde una matriz numpy?
- 9. ¿Cómo crear una matriz de registro numpy?
- 10. ¿Cómo "insertar" una pequeña matriz numpy en un bloque predefinido de una matriz numpy grande?
- 11. Imprimir la estructura de una matriz sin sus contenidos?
- 12. interactuando sobre una matriz numpy
- 13. ¿Ver en una matriz numpy?
- 14. Cómo imprimir la matriz?
- 15. Suma una fila de una matriz NumPy
- 16. Cómo imprimir una matriz peridimensional 2?
- 17. ¿Cómo creo una matriz/matriz vacía en NumPy?
- 18. Ordenar una matriz numpy como una mesa
- 19. imprimir una matriz como código
- 20. Python: ¿Imprime una lista sin los corchetes y comillas simples?
- 21. ¿Cómo creo una matriz numpy a partir de una cadena?
- 22. ¿Cómo dividir una matriz según una condición en numpy?
- 23. Eliminar una columna para una matriz numpy
- 24. ¿Sumar de manera eficiente una matriz numpy pequeña, transmitida a través de una matriz numpy descomunal?
- 25. creación de matriz numpy con una secuencia
- 26. Numpy: ordenar una matriz multidimensional por una matriz multidimensional
- 27. Convertir una matriz numpy 2D en una matriz estructurada
- 28. Encontrar valores faltantes en una matriz numpy
- 29. Imprimir una página sin mostrarla?
- 30. Convertir una matriz 1D en una matriz 2D en numpy
: verifique esto http://stackoverflow.com/questions/5365520/numpy-converting-array-from-float-to-strings – George
¿Está seguro de que realmente necesita una representación de cadena para esa gran matriz? ¿Para qué? –
Después necesito escribir esto y otras tres matrices en un archivo. Todas las matrices tienen diferentes tamaños y tengo que escribirlas alternando en el archivo, así que estoy planeando hacerlo manualmente usando 'writeline'. – Framester