目录

1. 索引及切片

(1)通过下标以及内置函数进行索引切片

(2)使用冒号分隔参数进行切片索引

(3)对部分元素进行索引并切片

(4)对多维数组进行索引切片

2. 高级索引

(1)整数数组索引

(2)布尔索引

(3)花式索引


1. 索引及切片

数组中的元素可以通过索引以及切片的手段进行访问或者修改,和列表的切片操作一样。

下面直接使用代码进行实现,具体操作方式以及意义以代码注释为准:

(1)通过下标以及内置函数进行索引切片

"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as npa = np.arange(10)#创建一个从0-9的一维数组
print(a)
i = slice(2, 7, 2)#从2开始到7结束,每隔1个元素进行索引,即start为1,stop为7,step为2
print(a[i])

得到的输出如下:

(2)使用冒号分隔参数进行切片索引

"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as npa = np.arange(10)#创建一个从0-9的一维数组
print(a[2:7:2])#将起始、结束、步长使用冒号进行分割,表示索引切片

得到的输出如下:

(3)对部分元素进行索引并切片

a. 切取中间的一段

"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as npa = np.arange(10)#创建一个从0-9的一维数组
print(a[2:5])#从2-5进行切片

得到输出如下:

b. 切取某一个元素后的全部

"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as npa = np.arange(10)#创建一个从0-9的一维数组
print(a[3:])#从3开始进行打印,直到打印完整个数组

得到输出如下:

(4)对多维数组进行索引切片

"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as npb = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print('从数组索引a[2:]处开始切片:')
print(b[2:])
print('数组第二列进行切片:')
print(b[..., 2])
print('数组第二行进行切片:')
print(b[2, ...])
print('从第二列开始切片:')
print(b[..., 1:])

得到输出如下:

2. 高级索引

(1)整数数组索引

"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as npb = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
c = b[[1, 0], [1, 0]]
print('对数组(1,1)和(0,0)处的元素进行索引切片:')
print(c)

得到输出如下:

(2)布尔索引

通过一个布尔数组来索引目标数组,布尔数组可以通过布尔运算得到符合条件的数组元素。

如下我们可以提取一个数组中不小于5的数:

"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as npa = np.array([[1, 2, 3, 5], [6, 9, 2, 0], [9, 3, 2, 7]])
print('数组中不小于5的数如下:')
print(a[a >= 5])

得到输出如下:

(3)花式索引

花式索引指的是利用整数数组进行索引。花式索引根据索引数组的值作为目标数组的某个轴的下标来取值。对于使用一维整型数组作为索引,如果目标是一维数组,那么索引的结果就是对应下标的行,如果目标是二维数组,那么就是对应位置的元素。花式索引跟切片不一样,它总是将数据复制到新数组中。

"""
Author:XiaoMa
date:2021/12/30
"""
import numpy as npx = np.arange(32).reshape((8, 4))
print('生成的数组为:')
print(x)
print('传入顺序索引数组:')
print(x[[4, 2, 1, 7]])
print('传入倒序索引数组:')
print(x[[-4, -2, -1, -1]])
print('传入多个索引数组:')
print(x[np.ix_([1, 5, 7, 2], [0, 3, 1, 2])])#输出的是两个向量不同维度组合的值

得到输出如下:

Python 科学计算库 Numpy (二) —— 索引及切片相关推荐

  1. 一文带你熟悉简单实用的Python科学计算库NumPy

    Python科学计算库NumPy 安装 数组的创建 array创建 **arange** 创建 **随机数创建** 方法numpy.random.random(size=None) 方法numpy.r ...

  2. Python 科学计算库 Numpy 准备放弃 Python 2 了

    Numpy 是 Python 的一个科学计算库,提供了矩阵运算的功能,一般与 Scipy.matplotlib 一起使用. 今天 Numpy 的 GitHub 主页上发文称,Numpy 库准备从 20 ...

  3. python科学计算库numpy和绘图库PIL的结合,素描图片(原创)

    # 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object):def p ...

  4. Python 科学计算库 Numpy(一)—— 概述

    目录 一 Numpy(Numerical Python) 1. Numpy 是什么 2. Numpy 的主要用途 二 Numpy 数组 VS Python 列表 三 Numpy 数据类型和属性 1. ...

  5. 01、python数据分析与机器学习实战——Python科学计算库-Numpy

    深度学习--学习目录 NumPy介绍 NumPy系统是Python的一种开源的数值计算扩展. 这种工具可用来存储和处理大型矩阵, 比Python自身的嵌套列表(nested list structur ...

  6. Python科学计算库numpy中的add运算

    闲言碎语不多讲,直接上代码. >>> import numpy as np >>> np.add.accumulate([1,2,3]) # 累加 array([1 ...

  7. 唐宇迪学习笔记1:Python环境安装、Pytho科学计算库——Numpy

    目录 一.AI数据分析入门 ​1.案例来源 2.Python环境配置(Python3) Python的安装 Python库安装工具 Jupyter Notebook 二.Python科学计算库--Nu ...

  8. numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用

    林小森博客: Python科学计算库Numpy常用的函数使用 - 林小森​www.linxiaosen.com Numpy具有强大的计算功能,本文介绍Numpy常用的函数,可以有效的提高工作效率. 首 ...

  9. python矩阵运算法则_导数与梯度、矩阵运算性质、科学计算库numpy

    一.实验介绍 1.1 实验内容 虽然在实验一中我想尽量少的引入(会让人放弃继续学习的)数学概念,但我似乎还是失败了.不过这几乎是没有办法的事,要想真正学会深度学习,没有一定的数学基础(高等数学.线性代 ...

最新文章

  1. 2019年最新10份开源Java精选资料
  2. OpenCV-图像的基本操作-01
  3. 标签传播算法(Label Propagation)及Python实现
  4. 0x0000050蓝屏srvsys_win7电脑蓝屏,显示的应该是srv.sys造成的,是什么情况?应该如何处理?...
  5. 2021年终总结:30多岁依然没有放弃自我成长!
  6. 日期和时间的格式化定义(ISO C89)
  7. 使用authentication进行身份验证,与Forms表单登陆
  8. sqlite3 判断数据库和表的状态
  9. Android开发布局 案例二
  10. html怎么修改边距,html怎么设置div边距
  11. 学习笔记96—WIN7/WIN8/WIN10 安装 MSDE SQL2000 卡住不动的解决办法
  12. 天线要设计为四分之一波长的原因
  13. 已知一个字典包含若干员工信息,姓请编写一个函数,删除性别为男的员工信息
  14. 记录一些Mac OS X技巧
  15. 无符号数相减问题 C语言
  16. 概率论——随机变量及其分布
  17. 关闭 Flink Checkpoint,引发 P3 故障
  18. c程序的基本组成单位是什么?
  19. 电脑双系统顺序的切换方法
  20. es6转es5 在线转换工具

热门文章

  1. 学java_北京Java培训班好吗?去哪儿学
  2. 【学习笔记】23、读写文件(I/O操作)— 写文件
  3. 【PP生产订单】入门介绍(七)
  4. F110报错:Company codes **/** do not appear in proposal ***; correct
  5. ECC6.0中数据导出到本地时报错GETWA_NOT_ASSIGNED
  6. 盗版与互联网是一对连体婴,会员制背后才是那把手术刀!
  7. 你这一辈子,有没有为五毛钱拼过命?
  8. opa847方波放大电路_电子设计竞赛教程-信号发生电路
  9. 使用Python的随机数模块 random 实现猜数字游戏
  10. BUUCTF(pwn)jarvisoj_level3_x64