usuarios para length how python matlab numpy octave

para - python numpy pypi



Equivalente del comando "whos" en NumPy (4)

Soy nuevo en Numpy y trato de buscar una función para enumerar las variables junto con sus tamaños (tanto las dimensiones de la matriz como el uso de la memoria).

Básicamente estoy buscando un equivalente del comando "whos" en MATLAB y Octave. ¿Existe tal comando en NumPy?


Esto funciona más o menos como quien lo equivalente.

En la shell interactiva (IDLE)

>> import os >> import sys >> a = 10 >> def MyWho(): print [v for v in globals().keys() if not v.startswith(''_'')] >> MyWho() [''a'', ''MyWho'', ''sys'', ''os''] >> import numpy >> MyWho() [''a'', ''MyWho'', ''numpy'', ''sys'', ''os'']


Python tiene una función incorporada dir() que devuelve la lista de nombres en el ámbito local actual.


Si está utilizando IPython , hay un comando de whos integrado:

In [9]: whos Variable Type Data/Info ------------------------------- a ndarray 4x4x3: 48 elems, type `int64`, 384 bytes b ndarray 100000: 100000 elems, type `int64`, 800000 bytes (781 kb) np module <module ''numpy'' from ''/Li<...>kages/numpy/__init__.py''>

En general, recomiendo usar IPython al realizar un trabajo interactivo en python con numpy / scipy / matplotlib / etc. Fernando Pérez y otros están agregando activamente muchas características geniales.


El comando whos imprime información sobre todas las variables. Definí la siguiente función para obtener información sobre un individuo o un grupo de variables:

import numpy as np def whosMy(*args): sequentialTypes = [dict, list, tuple] for var in args: t=type(var) if t== np.ndarray: print type(var),var.dtype, var.shape elif t in sequentialTypes: print type(var), len(var) else: print type(var)

uso:

whosMy(var1)

para múltiples variables:

whosMy(var1,var2,var3)