使用 numpy.ndarray.ndim(arr) 直接获取维度数



我可以直接使用命令numpy.ndarray.ndim(arr)来获取数组的维度编号吗?可能吗??

不, 但是您可以使用数组属性arr.ndim来获取它。ndarray.ndim

不,如果不导入模块,则不能使用该模块中定义的任何内容。

In [954]: import array                                                                                 
In [955]: a = array.array('i')                                                                         
In [956]: a.fromlist([1,2,3])                                                                          
In [957]: a                                                                                            
Out[957]: array('i', [1, 2, 3])
In [958]: len(a)                                                                                       
Out[958]: 3

就像列表一样,a有一个len。 它没有ndim

In [959]: a.ndim                                                                                       
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-959-2cb81154a11f> in <module>
----> 1 a.ndim
AttributeError: 'array.array' object has no attribute 'ndim'

ndimnumpy.ndarray的属性。 这与listarray无关。 如果给定 thosr 之一,np.ndim首先将其转换为np.asarray(a)

In [960]: np.ndim(a)                                                                                   
Out[960]: 1                            # always 1
In [961]: np.ndim([1,2,3])                                                                             
Out[961]: 1

虽然列表可以嵌套,但array.array必须包含预定义的元素类型,如文档所示。 它没有通用对象类型,因此始终是 1 维的。

最新更新