Numpy | 08 切片和索引
ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。
(1)ndarray 数组索引可以基于 0 - n 的下标进行;
(2)切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
实例1:通过下标。注意下标是从0开始
import numpy as np a = np.arange(10)
print(a)
print(a[0])
print(a[2])
输出结果为:
[0 1 2 3 4 5 6 7 8 9]
0
2
实列2:通过slice进行切片
import numpy as np a = np.arange(10) s1 = slice(2, 7)
print(a[s1]) s2 = slice(2, 7, 2) # 设置起始,终止和步长
print(a[s2])
输出结果为:
[2 3 4 5 6]
[2 4 6]
实例3: 通过冒号分隔切片参数 start:stop:step 来进行切片操作
冒号 : 的解释:
如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。
如果为 [2:],表示从该索引开始以后的所有项都将被提取。
如果使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的项。
import numpy as np a = np.arange(10)
b = a[2:7:2] # 从索引 2 开始到索引 7 停止,间隔为 2
print(b)
输出结果为:
[2 4 6]
import numpy as np a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
b = a[5]
print(b)
输出结果为:
5
import numpy as np a = np.arange(10)
print(a[2:])
输出结果为:
[2 3 4 5 6 7 8 9]
import numpy as np a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
print(a[2:5])
输出结果为:
[2 3 4]
多维数组
实例1: 在多维数组的切片中,使用逗号 , 区分维数。注意:冒号分隔切片不包含停止索引。
import numpy as np a=np.arange(0,12)
a.shape=(3,4)
print(a)
print(a[0:2,1:3])
输出结果:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[1 2]
[5 6]]
a[0:2,1:3]
可以把冒号左边的数看成是横坐标,右边的数看成是纵坐标,四个坐标做笛卡尔积,即取数组 a 下标是 (0,1),(0,2),(1,1),(1,2) 四个位置的数。
实例2
import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print(a) # 从某个索引处开始切割
print('从数组索引 a[1:] 处开始切割')
print(a[1:])
输出结果为:
[[1 2 3]
[3 4 5]
[4 5 6]]
从数组索引 a[1:] 处开始切割
[[3 4 5]
[4 5 6]]
实例3: 切片还可以包括省略号 …,来使选择元组的长度与数组的维度相同。
如果在行位置使用省略号,它将返回包含行中元素的 ndarray。
import numpy as np a = np.array([[1, 2, 3], [3, 4, 5], [4, 5, 6]])
print(a)
print('\n') print(a[..., 1]) # 第2列元素
print('\n') print(a[1, ...]) # 第2行元素
print('\n') print(a[..., 1:]) # 第2列及剩下的所有元素
print('\n')
输出结果为:
[[1 2 3]
[3 4 5]
[4 5 6]]
[2 4 5]
[3 4 5]
[[2 3]
[4 5]
[5 6]]
Numpy | 08 切片和索引的更多相关文章
- NumPy 切片和索引
NumPy 切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样. ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以 ...
- NumPy切片和索引
NumPy - 切片和索引 ndarray对象的内容可以通过索引或切片来访问和修改,就像 Python 的内置容器对象一样. 如前所述,ndarray对象中的元素遵循基于零的索引. 有三种可用的索引方 ...
- Numpy数组基本操作(数组索引,数组切片以及数组的形状,数组的拼接与分裂)
一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,N ...
- 在python&numpy中切片(slice)
在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作.此时就 ...
- NumPy 数组切片
章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...
- Numpy对数组按索引查询
Numpy对数组按索引查询 三种索引方法: 基础索引 神奇索引 布尔索引 基础索引 一维数组 和Python的List一样 二维数组 注意:切片的修改会修改原来的数组 原因:Numpy经常要处理大数组 ...
- 5、numpy——切片和索引
1.一维数组 1.1 一维数组很简单,基本和列表一致.ndarray 数组可以基于 0 - n 的下标进行索引. 切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 切片和索引
ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组. import ...
- 【NumPy学习指南】day4 多维数组的切片和索引
ndarray支持在多维数组上的切片操作.为了方便起见,我们可以用一个省略号(...)来 表示遍历剩下的维度. (1) 举例来说,我们先用arange函数创建一个数组并改变其维度,使之变成一个三维数组 ...
随机推荐
- Jenkins教程(四)安装BlueOcean与Maven构建
前言 本文旨在使用BlueOcean实现构建可视化与使用Maven构建上一节Jenkins教程(三)添加凭据与流水线拉取Git代码拉下来的代码 什么是Blue Ocean Blue Ocean 重新思 ...
- BAPI_TRANSACTION_COMMIT
通过NCO执行SAP里面的 BAPI_TRANSACTION_COMMIT 并不能直接生效,类似SQL 里面的事物一样,需要有开始与结束,正确的方式如下: RfcSessionManager.Begi ...
- U9-ERP BuildupDesigner 操作
它的数据库文件配制 D:\UFIDA\UBFV50\U9.VOB.Product.UBF\UBFStudio\Runtime\environment.xml
- Options of the DB storage of prometheus
参考: // Options of the DB storage. type Options struct { // The timestamp range of head blocks after ...
- POST请求转换为PUT或者Delete请求、处理post请求乱码的过滤器、Get请求乱码
在web.xml中配置 <!--配置HiddenHttpMethodFilter : 将所有的POST请求转换为PUT或者Delete请求 --><filter> <fi ...
- MAC OS系统替换brew.npm, pip 使用阿里云的镜像源
替换brew.git:cd "$(brew --repo)"git remote set-url origin https://mirrors.aliyun.com/homebre ...
- Django---Django的中间件
Django---Django的中间件 一丶中间件介绍 什么是中间件 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Dj ...
- Computer Neworking: A Top-Down Approach
目录 Chapter 1: Computer Networks and the Internet 1. What is the Internet? 2. The Network Edge 3. The ...
- 什么是MVC框架?
1.什么是mvc Model View Controller,是模型-视图-控制器的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里,在改进和个性化 ...
- JQuery-zTree.js使用范例
JQuery-zTree.js使用范例 实现Tree树的插件很多,比如常见的UI:Layui.ElementUI.iView ... .这里我们介绍一个小巧的构建Tree树的插件 zTree.js z ...