IPython: ¿cómo cargar automáticamente el archivo npz y asignar valores a las variables?
Soy nuevo en Python y estoy migrando ansiosamente de MATLAB a IPython como mi idioma preferido para el análisis de datos en el laboratorio.
En MATLAB, después de una sesión de procesamiento de datos, haría
>>> save('myresults.mat','x','y','z');
y guarde los resultados de las variables x, y y z en un archivo llamado 'myresults.mat'. Más tarde, simplemente podría decir:
>>> load('myresults');
y MATLAB cargaría el archivo .mat Y asignaría los valores almacenados de las variables al espacio de trabajo actual.
Recientemente he aprendido que puedo hacer lo mismo para IPython usando numpy, a saber:
import numpy as np
a = 2
b = np.sqrt(2)
np.savez('myresultsinpython',a,b)
y luego hacer algo como
npzfile = np.load('myresultsinpython')
Sin embargo, lo que obtengo es un objeto desde el cual puedo acceder a mis variables:
npzfile['arr_1']
etc., pero pierdo toda la información sobre los nombres originales de las variables. Sé que podría guardar el archivo haciendo
np.savez('myresultsinpython',a=a,b=b)
pero esto no es tan útil, ya que todavía tengo que hacer algo como:
npzfile['a']
para acceder al valor de la variable.
¿Cómo cargo tanto el archivo como las variables creadas en mi espacio de trabajo y sus valores asignados de acuerdo con los valores almacenados en el archivo?
Algo comonp.load('myresults')
y poder hacera+b
y obten3.4142135623730949 (=2+sqrt(2))
en cambio.