最近看代码,各种numpy的操作,其中有关于np.array的切片真的是看的眼花缭乱,还以为自己以前走过一遍就学的差不多心知肚明了,真正现在又看起来并且自己写还是有些蛋疼。什么a[:,:],a[:,-1],a[1:3,:]等等,这两天又开始敲了一遍,得出的结论就是要总结并且要多练......切片操作属于对numpy的基本操作,能轻松的通过一些语法实现目标列、行的分割和提取,在数据分析里面按目的提取有效数据还是十分重要的。在看了官方手册后,觉得还是说的浅了点,然后继续看博客,差不多算是把切片的所有操作给过了一遍。总的来说, 切片可以分为带逗号","和不带逗号","两种情况,然后里面夹杂着冒号":"进行切片。
不带逗号","
import numpy as np
切片的常规样例为:
a[start:stop:step]
start:索引起始位置,省略则默认从头开始索引;
stop:索引结束位置(不包含该结束索引),省略则默认索引到结尾;
step:索引步长,省略则默认步长为1。
关于":"的解释:如果只放置一个参数,如a[2],则返回与该索引相对应的单个元素。如果为a[2:],则表示 从该索引开始以后的所有。都会被提取。若同时使用两个元素,如a[2:5],那么则提取两个索引(不包括该停止索引)之间的所有项。假设现在有一个数组a:a[1:5:2]#表示从索引1开始检索到索引5(不包括索引5),隔2个数据取一次。
正式练习开始: 1.一维数组
#生成一个一维数组a=np.array([1,2,3,4,5,6,7,8 ])
依次进行如下操作:
print(a[1])#取出索引为1的元素print(a[1:])#取出索引从1至结尾的所有项print(a[7:])#从索引7开始取至结尾所有项print(a[7])#取出索引为7的元素