python矩阵切片
⑴ 如何使用python对shp文件进行切片
取一个list的部分元素是非常常见的操作。比如,一个list如下:
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
取前3个元素,应该怎么做?
对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。
对应上面的问题,取前3个元素,用一行代码就可以完成切片:
>>> L[0:3]
['Adam', 'Lisa', 'Bart']
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
只用一个 : ,表示从头到尾:
>>> L[:]
['Adam', 'Lisa', 'Bart', 'Paul']
因此,L[:]实际上复制出了一个新list。
切片操作还可以指定第三个参数:
>>> L[::2]
['Adam', 'Bart']
第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。
把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。
⑵ python--pandas切片
可以用中括号 [] 完成对数据框的切片。利用 列名 对列进行切片,利用 列的布尔序列 对行进行切片。
用 iloc 方法,使用行列的 位置 对数据框进行切片。支持布尔切片。
只传入一个参数时,表示对行进行切片。参数为整数返回序列,参数为列表返回数据框。正数表示正向切片,
负数表示反向切片。
使用 iloc 方法进行列切片时,需要行参数设置为 : ,表示选取所有的行。列切片方法与行切片相同。
同时设置行参数与列参数,使用 iloc 进行组合切片。
使用 loc 方法,用行列的 名字 对数据框进行切片,同时支持布尔索引。
传入一个参数时,只对行进行切片。
使用 loc 方法进行列切片时,行参数需要设置为 : ,表示选取所有行。列切片方法与行切片相同。
同时设置行参数和列参数,使用 loc 方法进行组合切片。
filter 方法与 loc 方法类似,都是基于索引名和列名进行切片。
⑶ 在python或者numpy里比如[:,:,0]是啥意思
这个是数组中的切片操作。
比如数组a = [1,2,3]
而 a[0:2]就会输出第0个至第(2-1)个数字 = [1,2]
而a[:]就是全部数据的意思 = [1,2,3]
问题中的[:,:,0] ,先看第一个 “ :, ” 就是指从第一维度的第0行至最后一行,第二个类似。
第三个就是指第三个维度的第0列数据。
⑷ python中切片包含首尾吗
对列表lista切片,lista[start:end:step],是否包括首或尾,取决于参数:start,end,step的取值。
比如:
lista=[1,2,"a","add"]
print(lista[:])#同时包括"首"、"尾"
print(lista[1:])#不包括"首"
print(lista[:-1])#不包括"尾"
print(lista[1:3])#同时不包括"首"、"尾"