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 ...
随机推荐
- 【剑指Offer面试编程题】题目1516:调整数组顺序使奇数位于偶数前面--九度OJ
题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 输入: 每个输 ...
- python学习 第一章 one day(补)
python入门 一.编写Hello,World 方法一. 进入解释器,实施输入并获取到执行结果 C:\Users\84535>python Python 3.7.4 (tags/v3.7.4: ...
- 回顾PHP:第一章:PHP基础语法(2)
十.PHP常量和变量——用常量限制用户跳过某些文件(重要) 十.1常量在代码中定义.书写方式: define(常量名,常量值) 注:1.常量值只能为标量 2.常量名可以小写,但是通常大写 3.常量名可 ...
- flutter样式基础
设置padding 1. 可以使用 Padding类设置 Padding( padding: const EdgeInsets.all(8.0), child:, ); 2. Container 参数 ...
- for 循环遍历数据,根据不同的条件判断动态渲染页面!
整体的逻辑为:for 循环遍历出数据,在for 循环里判断,根据不同的条件渲染 一.html页面结构 二.css就不再写了 三.JS逻辑代码 var listGroup='' ;k<data.i ...
- Outer()函数
转载:https://bbs.pinggu.org/thread-7078237-1-1.html R语言中的outer()函数,名为内积函数,但是他执行的功能并不是解析几何中的内积.那该函数到底发挥 ...
- IP、TCP、DNS
负责传输的IP协议 按层次分,IP网际协议位于网络层.几乎所有使用网络的系统都会用到 IP 协议. “IP”和“IP地址不同”,“IP”是一种协议的名称.IP 协议的作用是把各种数据包传送给对方.而要 ...
- Day3-F-Buy Low Sell High-CodeForces867E
You can perfectly predict the price of a certain stock for the next N days. You would like to profit ...
- php 实现店铺装修7
type_id=0的情况 type_id=1的情况 type_id=2的情况 /** * @title 店铺装修--商品分类 * @param type ...
- SSH框架与SSI框架的区别
2013-03-04 13:45 1427人阅读 评论(0) 收藏 举报 一.SSH 整个配置如下图所示: 1. <?xml version="1.0" encoding=& ...