NumPy的主要对象是同质的多维数组。它是一个有明确索引的相同类型的元素组成的表。在NumPy中维度称之为轴,轴数称之为列。
举个例子:
例一:
[ 1, 2, 1 ]
这是一个一维数组,因为它只有一个轴,这个轴的长度是3.
列二:
[[ 1., 0., 0.],[ 0., 1., 2.]]
这是一个二维数组,第一个维度的长度是2,第二个维度的长度是3.
NumPy中的array类被称之为ndarray,但是他的别名array更有名。特别需要注意的是NumPy.array和Python 标准库里的arry.array不一样。array.array只提供了比较少的方法。而NumPy中array包含以下重要属性:
ndarray.ndim
数组的维度数量
返回类型: number
ndarray.shape
数组的各个维度,这是一个存储了数组各个维度大小的int类型元祖。是一个n行m列矩阵,shape(n,m),这个shape的长度就是数组的维度数量。(如(2,3)表示2x3)
返回类型:tuple
ndarray.size
数组中所有元素的数量
返回类型:number
ndarray.dtype
数组中元素的类型。你可以使用python的types来创建和指定dtype’s,除此之外,numpy有自己的types,如:float64
返回类型:dtype对象
ndarray.itemsize
数组中每个元素的字节数。例如:float64类型的数组元素的itemize是8(64/8)
ndarray.data
不常用,访问数组元素使用索引更便利
创建数组
#使用array方法创建数组,array的参数可以是python的list和tuple >>> import numpy as np >>> a = np.array([2,3,4]) >>> a array([2, 3, 4]) >>> a.dtype dtype(‘int64‘) >>> b = np.array([1.2, 3.5, 5.1]) >>> b.dtype dtype(‘float64‘)
#array可以将序列中的序列转化为2维数组 >>> b = np.array([(1.5,2,3), (4,5,6)]) >>> b array([[ 1.5, 2. , 3. ], [ 4. , 5. , 6. ]])
数组的类型可以在创建时被显示的指定 >>> c = np.array( [ [1,2], [3,4] ], dtype=complex ) >>> c array([[ 1.+0.j, 2.+0.j], [ 3.+0.j, 4.+0.j]])
在创建数组的时候通常不知道数组的数据,但是知道数组的大小。所以numpy提供了几种方式类初始化数组内容。
zeros创建一个所有元素都是0的数组
>>> np.zeros( (3,4) ) array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.]])
ones创建一个所有元素都是1的数组
>>> np.ones( (2,3,4), dtype=np.int16 ) # dtype can also be specified array([[[ 1, 1, 1, 1], [ 1, 1, 1, 1], [ 1, 1, 1, 1]], [[ 1, 1, 1, 1], [ 1, 1, 1, 1], [ 1, 1, 1, 1]]], dtype=int16)
empty的内容使用随机数填充
>>> np.empty( (2,3) ) # uninitialized, output may vary array([[ 3.73603959e-262, 6.02658058e-154, 6.55490914e-260], [ 5.30498948e-313, 3.14673309e-307, 1.00000000e+000]
时间: 2024-10-14 04:34:42