Numpy学习笔记之ndarray的索引和切片

Numpy学习笔记之ndarray的索引和切片
1. 基本索引和切片
一维数组和python列表结构差不多,基本索引和切片得到的结果都是原始数组的视图,修改视图也会修改原始数组。
若想得到副本而非视图,就需要进行显式的复制操作,例如arr[5:8].copy()。
Numpy学习笔记之ndarray的索引和切片_第1张图片
再来看一下二维数组的基本索引和切片:
Numpy学习笔记之ndarray的索引和切片_第2张图片
重要的事情再说一遍:基本索引和切片返回的均为视图。
2. 布尔型索引
布尔数组必须跟被索引的轴长度一致,并且布尔索引可以和其他的切片和索引结合起来使用:
Numpy学习笔记之ndarray的索引和切片_第3张图片
同样布尔索引中除了==(等于)之外,还可以使用!=(不等于),&(与),|(或),!(非),>(大于),<(小于),>=(大于等于)和<=(小于等于)等等都可以。
同样也可以使用自己本身作为布尔索引的判断条件。
Numpy学习笔记之ndarray的索引和切片_第4张图片
注意:使用布尔索引返回的均为视图, 所以通过布尔型索引我们可以很方便的设置值。
3. 花式索引
花式索引是一个Numpy的术语,它指利用整数数组进行索引。
注意:使用花式索引的返回与上述两种索引不一样,花式索引返回的是副本。
Numpy学习笔记之ndarray的索引和切片_第5张图片
如果一次传入多个索引数组,那么将会返回一个其中元素对应各个索引元组的数组:
Numpy学习笔记之ndarray的索引和切片_第6张图片
若想同时对行和列一起进行花式索引,可以先对ndarray对象的行进行花式索引的同时对ndarray对象的所有的行实行对列的花式索引,同样我们可以使用np.ix_函数将传入的多个索引数组转化为一个用于选取块区域的索引器:
Numpy学习笔记之ndarray的索引和切片_第7张图片

你可能感兴趣的:(数据挖掘)