python10:Numpy數組切片示例
本文示例了數組切片的各種情況,可以直觀的看到各種數組切片格式的處理結果,參考資料爲numpy數組切片操作。
1.一維數組切片:
(1)正索引切片:
import numpy as np
# 一維數組
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# 一維數組切片
#1.索引爲5的元素
a1 = a[5]
print(a1)
"""
5
"""
# 2.索引爲5至最末的切片
a2 = a[5:]
print(a2)
"""
[5 6 7 8 9]
"""
# 3.索引爲0至5的切片
a3 = a[: 5]
print(a3)
"""
[0 1 2 3 4]
"""
# 4.索引爲5至7的切片
a4 = a[5: 8]
print(a4)
"""
[5 6 7]
"""
# 5.索引爲1至7間隔爲2的切片
a5 = a[1: 8: 2]
print(a5)
"""
[1 3 5 7]
"""
(2)負索引切片:
正索引和負索引的相互關係如下圖所示。
# 6.索引爲-1的元素
a6 = a[-1]
print(a6)
"""
9
"""
# 7.索引爲-10到最末的切片
a7 = a[-10: ]
print(a7)
"""
[0 1 2 3 4 5 6 7 8 9]
"""
# 8.索引爲首元素至-6的切片
a8 = a[: -5]
print(a8)
"""
[0 1 2 3 4]
"""
# 9.索引爲-5至-2的切片
a9 = a[-5: -1]
print(a9)
"""
[5 6 7 8]
"""
# 10.索引爲-10至-6間隔爲2的切片
a10 = a[-10: -5: 2]
print(a10)
"""
[0 2 4]
"""
# 11.索引爲-1到-9,間隔爲-2的切片
a11 = a[-1: -10: -2]
print(a11)
"""
[9 7 5 3 1]
"""
2.二維數組切片:
對二維數組做切片時,如Array1[1: 3, 2: 5],前面的[1:3]是對行進行操作,[2: 5]對列進行操作。需要注意的是當對行切片不對列元素進行操作時可以寫作[1:3],當對列切片不需要對行進行操作時格式爲[:, 2: 5]([, 2:5]的形式是錯誤的)。
# 二維數組
b = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]])
# 二維數組切片
# 1.切片數組的行,對索引爲0至0的行切片
b1 = b[0: 1]
print(b1)
"""
[[1 2 3]]
"""
# 2.切片數組的行,對索引爲1至最末的行切片
b2 = b[1:]
print(b2)
"""
[[2 3 4]
[3 4 5]]
"""
# 3.對索引爲1至最末的行,索引爲1至最末的列元素切片
b3 = b[1:, 1:]
print(b3)
"""
[[3 4]
[4 5]]
"""
# 4.對索引爲0至1的行,索引爲0至1的列元素切片
b4 = b[0: 2, 0: 2]
print(b4)
"""
[[1 2]
[2 3]]
"""
# 5.索引爲0至1的列切片
b5 = b[:, 0: 2]
print(b5)
"""
[[1 2]
[2 3]
[3 4]]
"""