es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Escribiendo un arreglo numpy en un archivo de texto

Me encontré con un error al intentar escribir un error de numpy en un archivo de texto. Para plantear la pregunta, aquí está el código de abajo:

import numpy as np

a = np.arange(1,10)
sigma = open("sample",'w')
for row in a:
    np.savetxt(sigma,row)
sigma.close()

arroja un error ValueError: Se esperaba una matriz de 1D o 2D, en su lugar se obtuvo una matriz de 0D.

Lo resolví con este código:

a = np.arange(1,10)
sigma = open("sample",'w')
np.savetxt(sigma,a, newline="\n")
sigma.close()

Pero aún no sé por qué no funcionó mi primer intento. ¿Por qué mi matriz aparece como 0D? (Estoy usando Python 3.9.9)

Tags:  ,

Answer

  1. Avatar for davy.ai

    El error ocurrió porque el bucle itera a través de cada elemento de a, lo que provoca que se pasen elementos individuales a np.savetxt() en lugar del array completo. np.savetxt() espera un array 1D o 2D, por lo tanto genera un ValueError cuando se le pasa un array 0D (un elemento individual). En el segundo intento, a se pasa directamente a np.savetxt() sin iterar sobre sus elementos individuales, lo que resulta en la salida deseada.

Comments are closed.