Numpy是高性能科学计算和数据分析的基础包。主要对象是ndarray,它是一个N维数组对象,内部数据必须是同一种数据类型,也称为通用的同构数据多维容器。
In [23]:
import numpy as np
In [24]:
a = np.arange(12).reshape(4, 3)
In [25]:
# ndim 在numpy中,维度称为axes(dimension),其值称为rank。 如a的rank为2
a.ndim
Out[25]:
In [26]:
# shape 表示各维度大小的元组
a.shape
Out[26]:
In [27]:
# size array中的元素个数
a.size
Out[27]:
In [28]:
# dtype 数据类型,ndarray中的数据类型必须一致
a.dtype.name
Out[28]:
In [29]:
# itemsize 每个元素的大小,以byte为单位
a.itemsize
Out[29]:
In [30]:
# data 实际元素内容的内存,一般情况下我们无需此属性。
a.data
Out[30]:
In [31]:
# 通过array方法,直接通过数组创建. dtype可以显示指定,numpy也可以自动推断。默认int32(这与numpy官方例子中的返回值不同,它为int64)
# 注意,必须传递一个数组[],而不是多个参数np.array(0,1,2)。会报错。
a = np.array([0,1,2])
a.dtype.name
Out[31]:
In [32]:
b = np.array([1.1, 2.2, 3.3])
b.dtype.name
Out[32]:
In [33]:
# 用数组嵌套数组的方式,可以创建多维ndarray。同时,可以显示指定dtype为float64
c = np.array([[0,1],[2,3]],dtype=np.float64)
c
Out[33]:
In [37]:
# 提供了一些简便方法,来创建有初值的ndarray。注意,默认dtype为float64
# zeros 全0. 注意,参数必须是一个元组。
np.zeros((2,2))
Out[37]:
In [38]:
np.ones((2,2))
Out[38]:
In [39]:
# 虽然在我机器上为全0,但官方例子说是随机值,取决于内存。
np.empty((2,2))
Out[39]:
In [40]:
# arange,提供了类似range的创建一系列数的方式
np.arange(10, 30, 5)
Out[40]:
In [41]:
# 对于float数值,最好用linspace指定个数,而非使用arange来指定step。
np.arange(0, 2, 0.25)
Out[41]:
In [43]:
np.linspace(0, 2, 9)
Out[43]:
In [ ]: