python10:Numpy数组切片示例

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]]
"""
发布了84 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_39504171/article/details/104668762