python-numpy小结3

来源:互联网 发布:win7杀毒软件 知乎 编辑:程序博客网 时间:2024/05/29 06:26

1 布尔型索引,ix_()函数,矩阵和numpy数组

布尔索引

注意区分False和0,True和1 ,在这里这些是不同的。

a = arange(12).reshape(3,4)b = a > 4>>> a[b]arrar([5,6,7,8,9,10,11])#false 不代表0 索引,而是直接不取出数据

ix_()函数

没完全搞懂什么意思,留坑,大致是组合向量,方便计算。

>>> a = array([2,3,4,5])>>> b = array([8,5,4])>>> c = array([5,4,6,8,3])>>> ax,bx,cx = ix_(a,b,c)>>> ax.shape, bx.shape, cx.shape((4, 1, 1), (1, 3, 1), (1, 1, 5))>>> result = ax+bx*cx>>>result.shape>>>(4,3,5)

matrices and 2D Arrays

首先看二者初始化的区别:

A = arange(3)M = mat(A.copy())##注意二者维度不同一个二维,一个一维,A.shape : (3,)  M.shape : (1,3)取值时: M[0][n] A[n]

这就导致二者在索引时的不同,数组可以以逗号分隔,从而沿着多个轴进行索引

>>> print A[:,1]; print A[:,1].shape[1 5 9](3,)>>> print M[:,1]; print M[:,1].shape[[1] [5] [9]](3, 1)

2D Arrays产生一维数组,矩阵产生二维数组,矩阵切片始终产生矩阵,数组切片则产生最低可能维数的数组。

原创粉丝点击