Numpy的主要对象是同质的多维数组。其中的元素通常都是数字,并且是同样的类型,由一个正整数元组进行索引。每个元素在内存中占有同样大小的空间。在Numpy中,维度被称为‘轴’。
例如对于[1, 2, 1]
我们说它有一个轴,并且长度为3。而[[ 1., 0., 0.], [ 0., 1., 2.]]
则有两个轴,第一个轴的长度为2,第二个轴的长度为3。
Numpy数组类的名字叫做ndarray,经常简称为array。要注意将numpy.array与标准Python库中的array.array区分开,后者只处理一维数组,并且功能简单。
np.array的代码定义如下:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
各参数的含义:
ndarray具有以下重要属性:
1. C_CONTIGUOUS (C):数组位于单一的、C语言风格的连续区段内 2. F_CONTIGUOUS (F): 数组位于单一的、Fortran语言风格的连续区段内 3. OWNDATA (O) :数组的数据是否从其它对象处借用 4. WRITEABLE (W) :数据区域是否可写入。 将它设置为Flase会锁定数组,使其只读。 5. ALIGNED (A) :数据元素会适当对齐 6. UPDATEIFCOPY (U) :如果数组是另一数组的副本。当这个数组释放时,源数组会由这个数组中的元素更新
在实际使用中,我们通常使用import numpy as np
来导入numpy并简写为np,这是国际惯例,请保持阵型。
>>> import numpy as np #导入numpy >>> a = np.arange(15).reshape(3, 5) #创建一个数组并调整为3行5列 >>> a array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) >>> a.shape (3, 5) >>> a.ndim 2 >>> a.dtype.name # 根据版本和环境不同,可能不同,比如int64 'int32' >>> a.itemsize 4 >>> a.size 15 >>> type(a) <type 'numpy.ndarray'> >>> b = np.array([6, 7, 8]) # 又一种生成数组的方法 >>> b array([6, 7, 8]) >>> type(b) <type 'numpy.ndarray'>