Python 科学计算库 Numpy (二) —— 索引及切片
目录
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 (二) —— 索引及切片相关推荐
- 一文带你熟悉简单实用的Python科学计算库NumPy
Python科学计算库NumPy 安装 数组的创建 array创建 **arange** 创建 **随机数创建** 方法numpy.random.random(size=None) 方法numpy.r ...
- Python 科学计算库 Numpy 准备放弃 Python 2 了
Numpy 是 Python 的一个科学计算库,提供了矩阵运算的功能,一般与 Scipy.matplotlib 一起使用. 今天 Numpy 的 GitHub 主页上发文称,Numpy 库准备从 20 ...
- python科学计算库numpy和绘图库PIL的结合,素描图片(原创)
# 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object):def p ...
- Python 科学计算库 Numpy(一)—— 概述
目录 一 Numpy(Numerical Python) 1. Numpy 是什么 2. Numpy 的主要用途 二 Numpy 数组 VS Python 列表 三 Numpy 数据类型和属性 1. ...
- 01、python数据分析与机器学习实战——Python科学计算库-Numpy
深度学习--学习目录 NumPy介绍 NumPy系统是Python的一种开源的数值计算扩展. 这种工具可用来存储和处理大型矩阵, 比Python自身的嵌套列表(nested list structur ...
- Python科学计算库numpy中的add运算
闲言碎语不多讲,直接上代码. >>> import numpy as np >>> np.add.accumulate([1,2,3]) # 累加 array([1 ...
- 唐宇迪学习笔记1:Python环境安装、Pytho科学计算库——Numpy
目录 一.AI数据分析入门 1.案例来源 2.Python环境配置(Python3) Python的安装 Python库安装工具 Jupyter Notebook 二.Python科学计算库--Nu ...
- numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用
林小森博客: Python科学计算库Numpy常用的函数使用 - 林小森www.linxiaosen.com Numpy具有强大的计算功能,本文介绍Numpy常用的函数,可以有效的提高工作效率. 首 ...
- python矩阵运算法则_导数与梯度、矩阵运算性质、科学计算库numpy
一.实验介绍 1.1 实验内容 虽然在实验一中我想尽量少的引入(会让人放弃继续学习的)数学概念,但我似乎还是失败了.不过这几乎是没有办法的事,要想真正学会深度学习,没有一定的数学基础(高等数学.线性代 ...
最新文章
- 2019年最新10份开源Java精选资料
- OpenCV-图像的基本操作-01
- 标签传播算法(Label Propagation)及Python实现
- 0x0000050蓝屏srvsys_win7电脑蓝屏,显示的应该是srv.sys造成的,是什么情况?应该如何处理?...
- 2021年终总结:30多岁依然没有放弃自我成长!
- 日期和时间的格式化定义(ISO C89)
- 使用authentication进行身份验证,与Forms表单登陆
- sqlite3 判断数据库和表的状态
- Android开发布局 案例二
- html怎么修改边距,html怎么设置div边距
- 学习笔记96—WIN7/WIN8/WIN10 安装 MSDE SQL2000 卡住不动的解决办法
- 天线要设计为四分之一波长的原因
- 已知一个字典包含若干员工信息,姓请编写一个函数,删除性别为男的员工信息
- 记录一些Mac OS X技巧
- 无符号数相减问题 C语言
- 概率论——随机变量及其分布
- 关闭 Flink Checkpoint,引发 P3 故障
- c程序的基本组成单位是什么?
- 电脑双系统顺序的切换方法
- es6转es5 在线转换工具
热门文章
- 学java_北京Java培训班好吗?去哪儿学
- 【学习笔记】23、读写文件(I/O操作)— 写文件
- 【PP生产订单】入门介绍(七)
- F110报错:Company codes **/** do not appear in proposal ***; correct
- ECC6.0中数据导出到本地时报错GETWA_NOT_ASSIGNED
- 盗版与互联网是一对连体婴,会员制背后才是那把手术刀!
- 你这一辈子,有没有为五毛钱拼过命?
- opa847方波放大电路_电子设计竞赛教程-信号发生电路
- 使用Python的随机数模块 random 实现猜数字游戏
- BUUCTF(pwn)jarvisoj_level3_x64