Numpy 数组的切片操作
实例+解释如下(表格):关键是要明白python中数组的下标体系。一套从左往右,一套从右往左。
1 import numpy as np
2 import sys
3
4 def main():
5 A=np.array([1,2,3,4,5,6,7,8,9,0])
6 B=A.copy()
7 print A
8 print 'same as print A,',A[:]
9 print 'same as print A,',A[::1]
10 print 'reverse A,',A[::-1]
11 print 'print all elements with 2 interval,',A[::2]
12 print 'print elements from the 4th element with 2 interval,',A[3::2]
13 print 'print elements from the last 4th element with 2 interval,',A[-3::2]
14 print 'print elements from the 2nd to 5th element with 2 interval,',A[1:4:2]
15 print 'reverse print all elements with 2 interval,',A[::-2]
16 print 'reverse print elements from the 4th element with 2 interval,',A[3::-2]
17 print 'reverse print elements from the last 4th element with 2 interval,',A[-3::-2]
18 #print A[a:b:c]: a and b determine range of slide. c determine the interval and direction (forth or reverse)
19 print A[:-3:-1]
20 print A[:3:1]
21 print A[:3:-1]
22 C=A[::-1]
23 C[0]=10
24 print 'A is also changed as how does c change,',A
25 B[9]=0
26 print 'A will not be affected when B change,',A
27 print 'array slide from second element to the last one,',A[1:]
28 print 'array slide from last second element to the first one,',A[:-1]
29
30
31
32 if __name__ == "__main__":
33 main()
| A=np.array([1,2,3,4,5,6,7,8,9,0]) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |
| 下标系一Index(Left to Right) | ||||||||||
| 下标系二Index(Right to Left) | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
| A[a:b:c] | a和b 确定:切片操作的范围(from a to b, exclude b.), C 确定具体切片的pace和方向(例如:1表示Left to Right,pace=1. -1表示Right to Left,pace=1.)。 | |||||||||
| 实例:A[:3:1] | output: 1,2,3. 注:Index 3处对应的数组值4。1表示从左往右,步的大小是1。所以输出1,2,3 | |||||||||
| 实例:A[:-3:-1] | output:0,9 注:Index -3处对应的数组值8。-1表示从右往左,步的大小是1。所以输出0,9 | |||||||||
| 实例:A[:3:-1] | output:0,9,8,7,6,5 注:Index 3处对应的数组值4。-1表示从右往左,步的大小是1。所以输出0,9,8,7,6,5 | |||||||||
| 实例:A[:-3:1] |
output:1,2,3,4,5,6,7 注:Index -3处对应的数组值8。1表示从左往右,步的大小是1。所以输出1,2,3,4,5,6,7 |
|||||||||
| 实例:A[-3::-1] |
output:8,7,6,5,4,3,2,1 注:Index -3处对应的数组值8。-1表示从右往左,步的大小是1。所以输出8,7,6,5,4,3,2,1 |
|||||||||
Numpy 数组的切片操作的更多相关文章
- Numpy数组对象的操作-索引机制、切片和迭代方法
前几篇博文我写了数组创建和数据运算,现在我们就来看一下数组对象的操作方法.使用索引和切片的方法选择元素,还有如何数组的迭代方法. 一.索引机制 1.一维数组 In [1]: a = np.arange ...
- Numpy入门(二):Numpy数组索引切片和运算
在Numpy中建立了数组或者矩阵后,需要访问数组里的成员,改变元素,并对数组进行切分和计算. 索引和切片 Numpy数组的访问模式和python中的list相似,在多维的数组中使用, 进行区分: 在p ...
- Numpy数组的基本运算操作
一.算术运算符 In [3]: a = np.arange(0,5) Out[3]array([0, 1, 2, 3, 4]) In [4]: a+4 Out[4]: array([4, 5, 6, ...
- Numpy入门 - 数组切片操作
本节主要演示数组的切片操作,数组的切片操作有两种形式:更改原数组的切片操作和不更改原数组的切片操作. 一.更改原数组的切片操作 import numpy as np arr = np.array([1 ...
- Numpy 笔记: 多维数组的切片(slicing)和索引(indexing)【转】
目录 切片(slicing)操作 索引(indexing) 操作 最简单的情况 获取多个元素 切片和索引的同异 切片(slicing)操作 Numpy 中多维数组的切片操作与 Python 中 lis ...
- Numpy数组基本操作(数组索引,数组切片以及数组的形状,数组的拼接与分裂)
一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,N ...
- Python数据分析之numpy数组全解析
1 什么是numpy numpy是一个在Python中做科学计算的基础库,重在数值计算,也是大部分Python科学计算库的基础库,多用于大型.多维数据上执行数值计算. 在NumPy 中,最重要的对象是 ...
- 21、numpy数组模块
一.numpy简介 numpy官方文档:https://docs.scipy.org/doc/numpy/reference/?v=20190307135750 numpy是Python的一种开源的数 ...
- Numpy 数组操作
Numpy 数组操作 Numpy 中包含了一些函数用于处理数组,大概可分为以下几类: 修改数组形状 翻转数组 修改数组维度 连接数组 分割数组 数组元素的添加与删除 修改数组形状 函数 描述 resh ...
随机推荐
- 2018.09.26 bzoj4326: NOIP2015 运输计划(二分+树上差分)
传送门 简单树上操作. 先转边权为点权. 显然所有的询问操作对应的路径会有一些交点,那么我们可以直接二分答案,对于所有大于二分值的询问用树上差分维护,最后dfs一遍每个点被覆盖了几次,当前情况合法当且 ...
- c语言中几个常见的库函数strlen、strcmp、strcat、strcpy、strncpy、memset、memcpy、memmove、mmap
1.strlen() 1)计算给定字符串的长度,不包括’\0’在内 unsigned int strlen(const char *s) { assert(NULL != s);//如果条件不满足,则 ...
- VS2010程序打包操作--超详细
1. 在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, ...
- Ubuntu安装教程(双系统)
经常要重装还不如写个安装教程省的每次都要查 Ubuntu安装教程: win7下安装Linux实现双系统全攻略:https://jingyan.baidu.com/article/c275f6bacc3 ...
- hdu 2190 悼念512汶川大地震遇难同胞——重建希望小学
题目 这道题拿到的时候拼凑了一会,感觉挺难的,然后博客说是:递推,我觉得递推其实就是找规律. 这是别人的思路:对于n米的长度,可以是由n-1长度加1而来,对于增加的1,只有三块1*1的砖一种铺法: 还 ...
- 区间 桂林电子科技大学第三届ACM程序设计竞赛
链接:https://ac.nowcoder.com/acm/contest/558/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 20、docker swarm
Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Kuber ...
- ABP 基础设施层——集成 NHibernate
本文翻译自ABP的官方教程<NHibernate Integration>,地址为:http://aspnetboilerplate.com/Pages/Documents/NHibern ...
- python跳坑---生成器
贵有恒,何必三更眠五更起,最无益,只怕一日曝十日寒. 好多东西要写下来一是方便自己,二可以分享给大家,我却一拖再拖. 工作的时候看别人代码中间结果,跳了个坑,关于python generator类型: ...
- Alwayson--问题总结一
1. Alwayson 是否依赖于域环境? 答: 是, alwayson依赖于故障转移群集(只有在故障转移群集中的SQL Server 才能启动高可行性组功能),而故障转移群集愈依赖于域环境. 2. ...