我是Numpy的新手并试图搜索一个函数来列出变量及其大小(矩阵维度和内存使用情况)。
我基本上在寻找MATLAB和Octave中“whos”命令的等价物。在NumPy中是否存在任何此类命令?
答案 0 :(得分:24)
如果您使用IPython,则内置whos
命令:
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'>
总的来说,我强烈建议在使用numpy / scipy / matplotlib / etc在python中进行交互式工作时使用IPython。费尔南多佩雷斯和其他人正在积极增加许多伟大的功能。
答案 1 :(得分:7)
Python有一个内置函数dir()
,它返回当前本地范围内的名称列表。
答案 2 :(得分:2)
这或多或少与谁相同。
在交互式shell(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']
答案 3 :(得分:2)
whos 命令打印有关所有变量的信息。我定义了以下函数来获取有关个体或一组变量的信息:
whosMy(var1)
用法:
whosMy(var1,var2,var3)
表示多个变量:
{a=1, b=2, c=3}, {a2=1, b2=2, c2=3}, {a3=1, b3=2, c3=3},
答案 4 :(得分:0)
尝试使用:type(VAR_NAME)
这将输出该特定变量VAR_NAME