相当于“whos”。 NumPy 中的命令

发布于 2024-12-10 11:08:10 字数 120 浏览 0 评论 0原文

我是 Numpy 的新手,正在尝试搜索一个函数来列出变量及其大小(矩阵尺寸和内存使用情况)。

我本质上是在寻找 MATLAB 和 Octave 中“whos”命令的等效命令。 NumPy 中是否存在这样的命令?

I am new to Numpy and trying to search for a function to list out the variables along with their sizes (both the matrix dimensions as well as memory usage).

I am essentially looking for an equivalent of the "whos" command in MATLAB and Octave. Does there exist any such command in NumPy?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

薄凉少年不暖心 2024-12-17 11:08:10

如果您使用 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。 Fernando Perez 和其他人正在积极添加许多出色的功能。

If you are using IPython, there is a whos command built-in:

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'>

In general I highly recommend using IPython when doing interactive work in python with numpy/scipy/matplotlib/etc. Fernando Perez and others are actively adding a lot of great features.

吾性傲以野 2024-12-17 11:08:10

Python 有一个内置函数 dir() ,它返回当前本地范围内的名称列表。

Python has a builtin function dir() which returns the list of names in the current local scope.

未蓝澄海的烟 2024-12-17 11:08:10

这或多或少与 who 等效。

在交互式 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'] 

This more or less works as who equivalent.

In the interactive 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'] 
可爱咩 2024-12-17 11:08:10

whos 命令打印有关所有变量的信息。我定义了以下函数来获取有关单个或一组变量的信息:

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)

用法:

 whosMy(var1)

对于多个变量:

 whosMy(var1,var2,var3)

whos command prints information about all the variables. I defined following function to get information about an individual or a group of 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)

usage:

 whosMy(var1)

for multiple variables:

 whosMy(var1,var2,var3)
神爱温柔 2024-12-17 11:08:10

尝试使用:type(VAR_NAME)
这将输出该特定变量的类类型,VAR_NAME

try using: type(VAR_NAME)
this will output the class type for that particular variable, VAR_NAME

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文