Python Numpy数组维数
我目前正在尝试学习Numpy和Python。给定以下数组:Python Numpy数组维数,python,arrays,numpy,dimensions,Python,Arrays,Numpy,Dimensions,我目前正在尝试学习Numpy和Python。给定以下数组: import numpy as np a = np.array([[1,2],[1,2]]) 是否有返回a维度的函数(例如,a是一个2×2数组) size() 它是: ndarray.形状 数组维度的元组 因此: 如果输入不是numpy数组,而是列表列表,也可以使用 >>> a = [[1,2],[1,2]] >>> np.shape(a) (2,2) 或者一个元组的元组 >>>
import numpy as np
a = np.array([[1,2],[1,2]])
是否有返回a
维度的函数(例如,a是一个2×2数组)
size() 它是:
ndarray.形状
数组维度的元组
因此:
如果输入不是numpy数组,而是列表列表,也可以使用
>>> a = [[1,2],[1,2]]
>>> np.shape(a)
(2,2)
或者一个元组的元组
>>> a = ((1,2),(1,2))
>>> np.shape(a)
(2,2)
第一:
按照惯例,在Python世界中,numpy
的快捷方式是np
,因此:
In [1]: import numpy as np
In [2]: a = np.array([[1,2],[3,4]])
第二:
在Numpy中,维度、轴、形状是相关的,有时是类似的概念:
维
在数学/物理学中,维度或维度被非正式地定义为指定空间内任何点所需的最小坐标数。但在Numpy中,根据,它与轴/轴相同:
在Numpy中,尺寸称为轴。轴的数量为秩
轴/轴
以Numpy为数组
编制索引的第n个坐标。多维数组的每个轴可以有一个索引
In [4]: a[1,0] # to index `a`, we specific 1 at the first axis and 0 at the second axis.
Out[4]: 3 # which results in 3 (locate at the row 1 and column 0, 0-based index)
形状
描述沿每个可用轴的数据量(或范围)
In [5]: a.shape
Out[5]: (2, 2) # both the first and second axis have 2 (columns/rows/pages/blocks/...) data
shape
方法要求a
是一个Numpy数组。但是Numpy也可以计算纯python对象的可重用对象的形状:
np.shape([[1,2],[1,2]])
你可以使用。形状
In: a = np.array([[1,2,3],[4,5,6]])
In: a.shape
Out: (2, 3)
In: a.shape[0] # x axis
Out: 2
In: a.shape[1] # y axis
Out: 3
您可以使用.ndim
进行尺寸标注,并使用.shape
了解确切尺寸
var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]])
var.ndim
# displays 2
var.shape
# display 6, 2
您可以使用。重塑功能更改尺寸
var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]]).reshape(3,4)
var.ndim
#display 2
var.shape
#display 3, 4
a.shape
只是np.info()
的有限版本。看看这个:
import numpy as np
a = np.array([[1,2],[1,2]])
np.info(a)
出去
一条建议:您的“尺寸”称为形状
,单位为NumPy。在您的例子中,NumPy称维度为2(ndim
)。了解常用的NumPy术语很有用:这使阅读文档更容易!注意:shape
可能更准确地描述为属性而不是函数,因为它不是使用函数调用语法调用的。@nobar实际上它是一个属性(实际上是属性和函数)@wim更具体地说。对于类属性(放置在类中的属性),它们是作为类的属性公开的property类型的对象。一个属性,在python中,。如果你真的想挑剔,它是一个描述符。虽然property
本身是一个类,ndarray.shape
不是一个类,但它是属性类型的一个实例。np.shape
如果没有shape属性,首先将其参数转换为数组,这就是它在列表和元组示例中工作的原因。您的第一个示例将shape显示为(2,6)
不是(6,2)
。请编辑它。
var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]])
var.ndim
# displays 2
var.shape
# display 6, 2
var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]]).reshape(3,4)
var.ndim
#display 2
var.shape
#display 3, 4
import numpy as np
a = np.array([[1,2],[1,2]])
np.info(a)
class: ndarray
shape: (2, 2)
strides: (8, 4)
itemsize: 4
aligned: True
contiguous: True
fortran: False
data pointer: 0x27509cf0560
byteorder: little
byteswap: False
type: int32
rows = a.shape[0] # 2
cols = a.shape[1] # 2
a.shape #(2,2)
a.size # rows * cols = 4