Abstract:numpy入门实战教程,附代码。
1.概览
numpy的主要对象是同种元素的多维数组。这是一个所有元素都是同一种类型、通过同一个正整数元组索引的元素表格(通常元素是数字)
维度(dimensions):轴
轴的个数:秩(rank)
例如,在3D空间一个点的坐标[1, 2, 3]是一个秩为1的数组,因为它只有一个轴。那个轴长度为3.又例如,在以下例子中,数组的秩为2(它有两个维度).第一个维度长度为2,第二个维度长度为3.
[[ 1., 0., 0.], [ 0., 1., 2.]]
数组类:ndarray(数组),注意
numpy.array
和标准Python
库类array.array
并不相同,后者只处理一维数组和提供少量功能。更多重要ndarray
对象属性有:ndarray.ndim ——数组轴(秩)的个数
ndarray.shape ——数组的维度;是一个指示数组在每个维度上大小的整数元组。例如一个
n排
m列的矩阵,它的
shape属性将是(2,3),这个元组的长度显然是秩,即维度或者
ndim属性ndarry.size——数组元素的总个数
ndarray.dtype ——用来描述数组中元素类型的对象,可以通过创造或指定
dtype
使用标准Python
类型。另外Numpy提供它自己的数据类型。ndarray.itemsize ——数组中每个元素的字节大小。例如,一个元素类型为
float64
的数组itemsiz
属性值为8(=64/8),又如,一个元素类型为complex32
的数组item
属性为4(=32/8)
.ndarray.data——包含实际数组元素的缓冲区,通常我们不需要使用这个属性,因为我们总是通过索引来使用数组中的元素
# input1 from numpy import* a = arrange(15).reshape(3,5) print a # output1 array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) # input2 print a.shape # output2 (3,5) # in3 print a.ndim # out3 2 # in4 print a.dtype.name # out4 'int64' # in5 print a.itemsize # out5 8 # in6 print a.size # in7 print tyep(a) # out7 numpy.ndarray # in8 b = array([6, 7, 8]) b # out8 array([6,7,8]) # in9 print type(b) # out numpy.ndarray
2.创建数组
使用array函数从常规的python列表和元组创造数组,所创建的数组类型由原序列中的元素类型推导而来。
# create array b = array([(1,2,3,4),(5,6,7,8)],dtype=complex) # 默认创建的数组类型(dtype)都是float64 print b zeros((3,4)) print zeros ones((2,3,4),dtype=int16) empty((2,3)) print empty print arange(10,30,5) print arange(0,2,0.3) # 当arange使用浮点数参数时,由于有限的浮点数精度,通常无法预测获得的元素个数。 # 因此,最好使用函数linspace去接收我们想要的元素个数来代替用range来指定步长
3.打印数组
当打印数组时,numpy会以类似嵌套列表的形式显示,呈以下布局
最后的轴从左到右打印