Numpy 数组的切片操作

实例+解释如下(表格):关键是要明白python中数组的下标体系。一套从左往右,一套从右往左。

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) 0 1 2 3 4 5 6 7 8 9
下标系二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:0,9   注:Index -3处对应的数组值8。1表示从左往右,步的大小是1。所以输出1,2,3,4,5,6,7,8

实例: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

 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()
时间: 2024-10-06 23:52:31

Numpy 数组的切片操作的相关文章

Python中numpy 数组的切片操作

Python中numpy 数组的切片操作简介取元素 X[n0,n1]切片 X[s0:e0,s1:e1]切片特殊情况 X[:e0,s1:]示例代码输出结果简介X[n0,n1]是通过 numpy 库引用二维数组或矩阵中的某一段数据集的一种写法.类似的,X[n0,n1,n2]表示取三维数组,取N维数组则有N个参数,N-1个逗号分隔.以二维数组为例: import numpy as npX = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,

Numpy数组对象的操作-索引机制、切片和迭代方法

前几篇博文我写了数组创建和数据运算,现在我们就来看一下数组对象的操作方法.使用索引和切片的方法选择元素,还有如何数组的迭代方法. 一.索引机制 1.一维数组 In [1]: a = np.arange(10,16) In [2]: a Out[2]: array([10, 11, 12, 13, 14, 15]) #使用正数作为索引 In [3]: a[3] Out[3]: 13 #还可以使用负数作为索引 In [4]: a[-4] Out[4]: 12 #方括号中传入多数索引值,可同时选择多个

python运算学习之Numpy ------ 数组的切片索引与循环遍历、条件和布尔数组、

数组的切片索引: 数组的切片索引和列表非常类似,下面用代码简单说明 1 a = np.random.rand(16).reshape(4, 4) 2 print("数组a:\n", a) 3 print(a[-1][1:4]) 4 Out[1]: 5 数组a: 6 [[0.04175379 0.43013992 0.5398909 0.40638248] 7 [0.3305902 0.11958799 0.48680358 0.30755734] 8 [0.00893887 0.384

Numpy - 数组的集合操作

数组的集合操作: >>> x=np.array(['cherry','apple','pear','banana','cherry']) >>> y=np.array(['cherry','pear','strawberry','orange','cherry']) >>> np.unique(x) array(['apple', 'banana', 'cherry', 'pear'], dtype='<U6') >>> np.

NumPy数组基本的索引和切片

对一维数组来说,NumPy数组的索引切片与Python列表的功能差不多: >>> arr array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> arr[3] 3 >>> arr[2:6] array([2, 3, 4, 5]) >>> arr[3:] array([3, 4, 5, 6, 7, 8, 9]) 但是,特别注意的是,如果要将一个标量值赋值给一个切片,这个修改会直接反映到源数组上(即使你已经新建

numpy数组的索引和切片

numpy数组的索引和切片 基本切片操作 >>> import numpy as np >>> arr=np.arange(10) >>> arr array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> arr[5] 5 >>> arr[5:8] array([5, 6, 7]) 切片赋值操作 1.切片赋一个值对应原来数组中的值也会变 >>> arr[5:8]=12 &g

关于javascript里面仿python切片操作数组的使用方法

其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用xxx in range(): ...跪.:( ) 而是我觉得字符串操作的切片真实让我感到前所未有的爽. 试想一下,我们平时操作最多的数组和字符串在切片的帮助下,不知道可以省去多少时间和麻烦.而且有了切片甚至不用去记很多可以被切片代替的api. 今天我在啃<学习javascript数据结构与算法>

【Python数组及其基础操作】【Numpy ndarray】

一.创建数组 在python中创建数组最简单的办法就是使用array函数.它接受一切序列型的对象,然后产生一个含有传入数据的numpy数组.其中,嵌套序列(比如由一组等长列表组成的列表)会被转换为一个多维数组. 1.array函数: numpy.array(object, dtype = None, copy = True, order = None, subok = False ,ndmin = 0) object             数组或嵌套的数列 dtype             

Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档

array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片介绍: 从最基础的list索引开始讲起,我们先上一段代码和结果: a = [0,1,2,3,4,5,6,7,8,9] a[:5:-1] #step < 0,所以start = 9 a[0:5:-1] #指定了start = 0 a[1::-1] #step < 0,所以stop = 0 输出: [