Numpy数组对象
Numpy数组:是一个多维数组对象,称为ndarray。其由两部分组成:
(a)实际的数据;
(b)描述这些数据的元数据;
大部分操作仅针对于元数据,而不改变底层实际的数据
array([[0,1,2,3,4,5,6,7,8,9,10,11],[12,13,14,15,16,17,18,19,20,21,22,23]])
1.数组对象属性
(a)ndarray.ndim:维数、秩、数组轴个数,本例中为2
(b)ndarray.shape:数组的维度,ndarray.shape(0)=2,ndarray.shape(1)=12;
(c)ndarray.size:数组的元素个数;
(d)ndarray.dtype:指定或查看数组中元素类型的对象类型;
(e)ndarray.itemsize:数组中每个元素的字节大小;
2.常用函数
tile函数:是模板numpy.lib.shape_base中的函数
①函数原型:tile(A,reps),其中A和reps都是array_like的。A的类型众多,几乎所有类型都可以:array, list, tuple, dict, matrix以及基本数据类型int, string, float以及bool类型。reps的类型也很多,可以是tuple,list, dict, array, int,bool。但不可以是float, string, matrix类型。
②函数表示的意思是复制次数,例如:
reps为长度为1的值:
a=([[1,2,3],[4,5,6]]) //python的数组 >>> tile(a,2) array([[1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6]])
reps为长度为2的元组: a=([[1,2,3],[4,5,6]]) >>> tile(a,[2,3]) array([[1, 2, 3, 1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6, 4, 5, 6], [1, 2, 3, 1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6, 4, 5, 6]])
reps为长度为3的元组: a=([[1,2,3],[4,5,6]]) >>> tile(a,[2,3,4]) array([[[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6], [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6], [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6]], [[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6], [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6], [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6]]])
sum函数:数组对象的函数(即numpy的数组,而非python的数组),求对应的和值
二维数组
>>> a=array([[1,2,3],[4,5,6]]) >>> a.sum() 21 >>> a.sum(0) array([5, 7, 9]) >>> a.sum(1) array([ 6, 15])
一维数组
>>> c=array([1,2,3])
>>> c.sum()
6
>>> c.sum(0)
6
>>> c.sum(1)//出错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/core/_methods.py", line 25, in _sum
out=out, keepdims=keepdims)
ValueError: 'axis' entry is out of bounds
argsort函数:返回数组值从小到大的索引值
One dimensional array:一维数组 >>> x = np.array([3, 1, 2]) >>> np.argsort(x) array([1, 2, 0]) Two-dimensional array:二维数组 >>> x = np.array([[0, 3], [2, 2]]) >>> x array([[0, 3], [2, 2]])
>>> np.argsort(x, axis=0) #按列排序
array([[0, 1],
[1, 0]])
>>> np.argsort(x, axis=1) #按行排序
array([[0, 1],
[0, 1]])
相关知识可以参考博文:http://blog.csdn.net/u013731339/article/details/41449177
iteritems函数:返回字典的迭代器
参考博文:http://blog.csdn.net/revilwang/article/details/38686635

浙公网安备 33010602011771号