• 技术文章 >Python技术 >Python基础教程

    基础学习:Python中numpy如何切片

    小P小P2021-04-12 17:00:27原创4589

    banner82(2).png

    numpy在矩阵运算中用的非常频发,今天小编带大家看看Python中numpy如何解决切片的问题。

    1.取元素 X[n0,n1]

    这是最基本的情况,表示取 第0维 的第 n0 个元素,继续取 第1维 的第 n1个元素。如 X[2,2] 表示第0维第2个元素[20,21,22,23],然后取其第1维的第2个元素即 22;

    2.切片 X[s0:e0,s1:e1]

    这是最通用的切片操作,表示取 第0维 的第 s0 到 e0 个元素,继续取 第1维 的第 s1 到 e1 个元素(左闭右开)。如 X[1:3,1:3] 表示第0维第(1:3)个元素[[10,11,12,13],[20,21,22,23]],然后取其第1维的第(1:3)个元素即 [[11,12],[21,22]];

    3.切片特殊情况 X[:e0,s1:]

    特殊情况,即左边从0开始可以省略X[:e0,s1:e1],右边到结尾可以省略X[s0:,s1:e1],取某一维全部元素X[:,s1:e1],事实上和Python 的 序列切片规则是一样的。

    常见的 X[:,0] 则表示 第0维取全部,第1维取0号元素;

    示例代码

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";">import numpy as np

     

    X = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,32,33]])

     

    # X 是一个二维数组,维度为 0 ,1

    # 第 0 层 [] 表示第 0 维;第 1 层 [] 表示第 1 维;

     

    # X[n0,n1] 表示第 0 维 取第n0 个元素 ,第 1 维取第 n1 个元素

    print(X[1,0])

    # X[1:3,1:3] 表示第 0 维 取 (1:3)元素 ,第 1 维取第(1:3) 个元素

    print(X[1:3,1:3])

     

    # X[:n0,:n1] 表示第 0 维 取 第0 到 第n0 个元素 ,第 1 维取 第0 到 第n1 个元素

    print(X[:2,:2])

    # X[:,:n1] 表示第 0 维 取 全部元素 ,第 1 维取 第0 到第n1 个元素

    print(X[:,:2])

     

    # X[:,0]) 表示第 0 维 取全部 元素 ,第 1 维取第 0 个元素

    print(X[:,0])<br></span></p>

    输出结果

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";">10

    [[11 12]

     [21 22]]

    [[ 0  1]

     [10 11]]

    [[ 0  1]

     [10 11]

     [20 21]

     [30 31]]

    [ 0 10 20 30]<br></span></p>

    PS:X[n0,n1]简介

    X[n0,n1]是通过 numpy 库引用二维数组或矩阵中的某一段数据集的一种写法。

    类似的,X[n0,n1,n2]表示取三维数组,取N维数组则有N个参数,N-1个逗号分隔。

    以二维数组为例:

    1

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei";">import numpy as np<br>X = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,32,33]])<br></span></p>

    X 是一个二维数组,维度分别为 0 ,1;为了方便理解多维,采取数中括号的方式 ‘[’ 确定维数,例如:从左往右,第 0 层 [] 表示第 0 维;第 1 层 [] 表示第 1 维;…以此类推。

    学会了切片方法的小伙伴,不要错过我们下期的numpy索引哦~更多Python学习推荐:PyThon学习网教学中心

    (推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

    专题推荐:numpy切片 python
    上一篇:Python基础:numpy中any()和all()的用法 下一篇:Python中numpy如何索引

    相关文章推荐

    • 怎么在anaconda中升级numpy?• 安装anaconda后无法导入numpy怎么办• pycharm有numpy扩展包么• pycharm如何使用numpy• python中numpy数据类型转换的方法• Python基础:numpy中any()和all()的用法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网