Python——Numpy切片和索引(逗号,冒号:省略号...的使用)

Python——Numpy切片和索引

    • Python——Numpy切片和索引
  • 总结:
  • 用slice()函数创建切片对象
    • [start:stop:step] 直接传入切片参数
    • 多维数组使用切片
    • 切片对象中包含 "..."
  • 总结:

Python——Numpy切片和索引

Numpy对象可以使用 索引和切片 进行访问和修改
索引下标从 0 开始

总结:

搞懂这个总结就ojbk了。^ _ ^
[]中,逗号,区分的是维度,冒号:区分的是索引,省略号… 用来代替全索引长度

用slice()函数创建切片对象

返回值: 切片对象
语法结构:

slice(start[,stop[,step]])
等价于
a[start:stop:step]

实例:

#创建一个1维数组
import numpy as np
a = np.arange(20)
#访问2到7,间隔为1的元素切片
s = slice(2,7,2)
print(s)

[start:stop:step] 直接传入切片参数

#创建一个1维数组
import numpy as np
a = np.arange(20)
#直接利用[::]切片访问
c = a[2]#取索引二的单个元素
c = a[2:7:1]#2~7步长为1 的元素
c2 = a[10]#10到最后一个元素
c3 = a[:10]#开始到10
c4 = a[::-1]#取反
c5 = a[:10:-1]#从后10取反到第10个
print(c,'\n',c2,'\n',c3,'\n',c4,'\n',c5)

Python——Numpy切片和索引(逗号,冒号:省略号...的使用)_第1张图片

多维数组使用切片

import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print('a[1]:\n',a[1])
print('a[1:]:\n',a[1:])
print('a[::2]:\n',a[::2])
print('a[::-1]:\n',a[::-1])

Python——Numpy切片和索引(逗号,冒号:省略号...的使用)_第2张图片
以上代码,切片中没有 ,号,相当于操作了第一维度中的所有内容

多维度操作

import numpy as np
a = np.array([[1,2,3],[3,4,5],[:8,5,6]])
print('第2行第2个元素:',a[1,1])

Python——Numpy切片和索引(逗号,冒号:省略号...的使用)_第3张图片

切片对象中包含 “…”

切片对象 [] 中包含省略号…
作用: 使得 选择元组的长度 = 数组的维度

如果在行位置使用 … return包含行中元素的ndarray

import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [4, 5, 6]])
print('第2列元素',a[::,1])
# 等价于
print('第2列元素',a[...,1])

print('第2行元素',a[1,])
#d等价于
print('第2行元素',a[1,::])
#d等价于
print('第2行元素',a[1,...])
print('第2列开始剩下的所有列\n',a[::,1:])
#等价于
print('第2列开始剩下的所有列\n',a[...,1:])

Python——Numpy切片和索引(逗号,冒号:省略号...的使用)_第4张图片

总结:

[]中,逗号,区分的是维度,冒号:区分的是索引,省略号… 用来代替全索引长度

你可能感兴趣的:(Python—Numpy模块,开发语言,python)