Python Numpy学习之索引及切片的使用方法
索引
Numpy中的数组可以通过下标索引来访问,和Python列表的索引类似。
一维数组的索引
一维数组的索引和Python列表的索引是一样的,从0开始,可以使用负数的下标来表示从末尾开始的位置。
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 使用下标访问一维数组
print(a[0]) # 输出:1
print(a[-1]) # 输出:9
多维数组的索引
多维数组的索引可以使用逗号分隔的下标来完成,对于每一维的下标可以使用单独的方括号进行指定。
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 使用下标访问多维数组
print(a[0, 0]) # 输出:1
print(a[1, -1]) # 输出:6
切片
切片是Numpy中常用的一种访问数组元素的方式,通过指定切片的开始和结束位置,可以获取到一部分数组的数据。
一维数组的切片
对于一维数组,可以使用类似Python列表的切片方法进行访问,使用冒号分隔切片的开始和结束位置。
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 使用切片访问一维数组
print(a[1:5]) # 输出:[2 3 4 5]
print(a[:4]) # 输出:[1 2 3 4]
print(a[5:]) # 输出:[6 7 8 9]
print(a[::2]) # 输出:[1 3 5 7 9]
多维数组的切片
多维数据的切片需要使用类似Python列表的多维切片,对于每一维的切片需要使用单独的冒号进行分隔。
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 使用切片访问多维数组
print(a[1:, :2]) # 输出:[[4 5], [7 8]]
print(a[:2, 1:]) # 输出:[[2 3], [5 6]]
示例说明
示例1:一维数组的切片
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 打印初始数组
print(a) # 输出:[1 2 3 4 5 6 7 8 9]
# 使用切片删除数组的前两个元素
a = a[2:]
# 打印删除后的数组
print(a) # 输出:[3 4 5 6 7 8 9]
# 使用切片访问数组的奇数下标元素
print(a[::2]) # 输出:[3 5 7 9]
示例2:多维数组的切片
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 打印初始数组
print(a)
# 输出:
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
# 使用切片访问二维数组的中间元素
print(a[1, 1]) # 输出:5
# 使用切片访问二维数组的第一列元素
print(a[:, 0]) # 输出:[1 4 7]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python Numpy学习之索引及切片的使用方法 - Python技术站