python-numpy小结3

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产生一维数组,矩阵产生二维数组,矩阵切片始终产生矩阵,数组切片则产生最低可能维数的数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值