NumPy 数组切片
章节
要访问或修改ndarray数组中的元素,可以使用数组切片/索引。
如前所述,ndarray数组索引从0开始。
使用切片访问数组,首先通过内置slice函数创建一个切片对象,该对象存储了创建时传入的start、stop和step参数,把这个切片对象传给数组,我们就可以提取数组的一部分(切片)返回。
一维数组
示例
import numpy as np
a = np.arange(10)
s = slice(2,7,2)
print(a[s])
输出
[2 4 6]
上面的例子中,首先使用arange()函数创建ndarray数组,然后定义一个切片对象,它的start、stop和step值分别是2、7和2。当把这个切片对象传递给ndarray数组时,会从数组中提取一部分返回,返回部分的索引从2到7,步长2。
可以直接向ndarray数组传入start:stop:step格式的切片参数,效果相同。
示例
import numpy as np
a = np.arange(10)
b = a[2:7:2]
print(b)
输出
[2 4 6]
[i]如果只放一个参数,则返回与索引对应的单个项。[:i]如果在前面插入:,则从该索引之前的所有项都将被提取。[start:stop]如果使用了两个参数,中间用:分隔,则使用默认步骤1,提取两个索引(不包括stop)之间的项。
示例
单项切片
import numpy as np
a = np.arange(10)
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)
print(a[:2])
输出
[0 1]
示例
在索引之间切片
import numpy as np
a = np.arange(10)
print(a[2:5])
输出
[2 3 4]
上述规则也适用于多维数组。
多维数组
示例
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]]
切片还可以包括省略号(…),表示在该维度上选择全部。
示例
# 演示数组
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print ('数组:')
print (a)
print ('\n')
# 返回一个数组,由第二列中的项目组成
print ('第二列中的项目是:')
print (a[...,1])
print ('\n')
# 返回第二行
print ('第二行中的项目是:')
print (a[1,...])
print ('\n')
# 返回第一列之后的项目
print ('第一列之后的项目:')
print (a[...,1:])
输出
数组:
[[1 2 3]
[3 4 5]
[4 5 6]]
第二列中的项目是:
[2 4 5]
第二行中的项目是:
[3 4 5]
第一列之后的项目:
[[2 3]
[4 5]
[5 6]]
NumPy 数组切片的更多相关文章
- Numpy数组对象的操作-索引机制、切片和迭代方法
前几篇博文我写了数组创建和数据运算,现在我们就来看一下数组对象的操作方法.使用索引和切片的方法选择元素,还有如何数组的迭代方法. 一.索引机制 1.一维数组 In [1]: a = np.arange ...
- Numpy数组基本操作(数组索引,数组切片以及数组的形状,数组的拼接与分裂)
一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,N ...
- numpy数组之读写文件
目录 通过 numpy 读写 txt 或 csv 文件 通过 numpy 读写 npy 或 npz 文件 读写 npy 文件 读写 npz 文件 通过 h5py 读写 hdf5 文件 简单读取 通过切 ...
- NumPy 数组迭代
章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...
- NumPy 数组创建
章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...
- numpy数组的索引和切片
numpy数组的索引和切片 基本切片操作 >>> import numpy as np >>> arr=np.arange(10) >>> arr ...
- Numpy入门(二):Numpy数组索引切片和运算
在Numpy中建立了数组或者矩阵后,需要访问数组里的成员,改变元素,并对数组进行切分和计算. 索引和切片 Numpy数组的访问模式和python中的list相似,在多维的数组中使用, 进行区分: 在p ...
- 在python&numpy中切片(slice)
在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的操作.此时就 ...
- numpy数组、向量、矩阵运算
可以来我的Github看原文,欢迎交流. https://github.com/AsuraDong/Blog/blob/master/Articles/%E6%9C%BA%E5%99%A8%E5%AD ...
随机推荐
- jqGrid 重新加载数据
参考:https://blog.csdn.net/u012746051/article/details/52949353 $("#列表区域id").jqGrid('clearGri ...
- SpringMVC的@ControllerAdvice注解
@ControllerAdvice顾名思义,他是一个Controller的增强,是一个异常处理类.常用于实现下面三个方面的功能: 1.处理全局异常,结合方法型注解@ExceptionHandler,用 ...
- C 随机数产生
// ConsoleApplication5.cpp : Defines the entry point for the console application. // #include " ...
- idea中的Storm1.1.1工程自定义日志级别
在idea中跑storm工程时,因为Storm中的日志级级别默认为INFO,控制台总是打印出很多没用的INFO级别的日志,导致我自己在代码中的sout内容看不清楚. 于是想着自定义日志的打印级别为WA ...
- day17-Python运维开发基础(类的封装 / 对象和类的相关操作、构造方法)
1. 类的封装及相关操作 # ### oop 面向对象程序开发 """ #用几大特征表达一类事物称为一个类,类更像是一张图纸,表达的是一个抽象概念 "" ...
- GIMP
1. 认识GIMP 2. GIMP与Photoshop的对比 3. GIMP官方手册教程 4. 2本GIMP的外文书下载 5. 2个外部入门教程 6. 其他相关软件 1. 认识GIMP GIMP是可用 ...
- eclipse搜索类快捷键
习惯的编辑器可以提高编程效率,熟悉的快捷键可以提高工作效率,本文更新eclipse中常用的搜索快捷键 打开资源快捷键:Ctrl+Shift+R 通过在搜索框中输入名字可以很方便的在项目或工作空间中找某 ...
- 提高 Java 代码性能的各种技巧
Java 6,7,8 中的 String.intern – 字符串池 这篇文章将要讨论 Java 6 中是如何实现 String.intern 方法的,以及这个方法在 Java 7 以及 Java 8 ...
- SpringBoot开发环境要求
JDK 截止到目前Spring Boot 的最新版本:2.1.8.RELEASE 要求 JDK 版本在 1.8 以上,所以确保你的电脑已经正确下载安装配置了 JDK(推荐 JDK 1.8 版本). 构 ...
- SciPy 插值
章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...