Numpy学习二:数组的索引与切片

1、一维数组索引与切片
#创建一维数组
arr1d = np.arange(10)
print(arr1d)

结果:[0 1 2 3 4 5 6 7 8 9]

#数组的索引从0开始,通过索引获取第三个元素
arr1d[2]

结果:2

#切片,左闭右开区间,从索引3开始,直到索引7结束

arr1d[3:8]

结果:array([3, 4, 5, 6, 7])

#数组脚标由右往左是从-1开始,每向左一位脚标数字减1,获取最后一个元素
arr1d[-1] #等价arr1d[9]

结果:9

#将标量赋值给切片,会广播到切片的整个选区
arr1d[3:5] = 10
print(arr1d)

结果:[ 0 1 2 10 10 5 6 7 8 9]

2、二维数组索引与切片

#创建二维数组
arr2d = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(arr2d)

结果:[[ 1  2  3  4]
       [ 5  6  7  8]
       [ 9 10 11 12]]

#第一维脚标(索引值)是0的元素是一个数组
arr2d[0]

结果:array([1, 2, 3, 4])

#第一维脚标(索引值)是1,第二维脚标(索引值)是3的元素,可以理解为获取二维数组中第2行第4列的元素
arr2d[1,3]

结果:8

#二维数组切片

多维数组可以按照维度分为多个轴,以二维数组为例,第一维可以用第0轴“axis=0”表示,第二维可以用第1轴“axis=1”表示

#沿着axis=0轴方向的切片

arr2d[:2]

结果:array([[1, 2, 3, 4],
             [5, 6, 7, 8]])
 

#只有冒号表示选取整个轴,取第0轴全部,第1轴从脚标1开始取到3前一位,可以理解为取所有行的第2列和第3列数据
arr2d[:,1:3]

结果:array([[ 2,  3],
             [ 6,  7],
             [10, 11]])
 

#沿着第0轴方向从脚标1开始取到最后,沿着第1轴从脚标1开始取到3的前一位
arr2d[1:,1:3]

结果:array([[ 6,  7],
             [10, 11]])

原文地址:https://www.cnblogs.com/sl0309/p/10354347.html

时间: 2024-08-29 08:56:08

Numpy学习二:数组的索引与切片的相关文章

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

[jQuery学习系列二 ]2-JQuery学习二-数组操作

前言 上一篇内容 已经对于Jquery 有了一些认识, 包括Jquery的选择器和DOM对象, 那么这一篇继续来看下Jquery中很实用的Jquery对于数组的操作. Jquery中对数组的操作大致有以下几种形式:each(迭代), map(转换), grep(筛选), 合并等. 1,迭代(each)jQuery.each( object, callback ) 返回值:Object说明:通用例遍方法,可用于例遍对象和数组.注意: 传入的第一个参数可以是数组或者对象.如果数组,则遍历数组中的每一

Java基础学习(二)—数组

一.数组的概念      定义: 数组是存储同一种数据类型的多个元素的集合.      数组既可以存储基本数据类型,也可以存储引用数据类型.      格式:           格式1: 数据类型[] 数组名;           格式2: 数据类型 数组名[];      这样定义完了,但是数组中是没有元素的,我们必须对数组进行初始化.   二.数组的初始化      Java数组必须先初始化,然后才能使用.所谓的初始化就是为数组的元素分配内存空间,并为每个数组元素赋值.      动态初始

javasscript学习笔记 之 数组学习二 数组的所有方法

1.push() 和 pop()  栈的方法 后进先出 push() 该方法是向数组末尾添加一个或者多个元素,并返回新的长度. push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度 POP() 方法刚好和push()方法相反.pop()方法删除数组的最后一个元素,把数组的长度减1,并且返回它被删除元素的值,如果数组变为空,则该方法不改变数组,返回undefine值 unshift()添加元素 和 shift()删除元素  队列的方法 先进先出 unshift

Python3-笔记-numpy学习指南-002-基础

import numpy # 创建一维的数组对象a = numpy.arange(5)print(a)print(a.dtype) # 类型print(a.shape) # 数据维度 [0 1 2 3 4]int32(5,) # 创建二维的数组对象print('-------')m = numpy.array([numpy.arange(2), numpy.arange(2)])print(m.shape) # 数据维度print(m, m[0], m[1], m[1][1], sep='---

numpy(二)

这篇继续来介绍numpy! 没有看过开篇的朋友,贴出链接:https://www.cnblogs.com/Earth-SmaThing/p/11224252.html 多维数组的高效性能: 虽然可以使用[ ]运算符重复对嵌套列表进行索引,但多维数组支持更为自然的索引语法,只需一个[ ]和一组以逗号分隔的索引即可.如下所示: 再比如返回2行4列的array,且值为均值为10,标准差为3的正态分布的随机数,代码如下: 实际上,只要元素的总数不变,数组的形状就可以随时改变.例如想要一个数字从0增加的2

乐哥学AI_Python(二):Numpy索引,切片,常用函数

Numpy的索引和切片 ndarray对象的内容可以通过索引和切片查看和修改. 索引:ndarray对象中的元素索引基于0开始 切片:对数组里某个片段区域的描述 数组的切片也可以理解为原始数组的局部视图,都是指向内存中的原始数组,所以不同于列表复制,切片上的修改都会直接反映到原始数组上. 索引切片的实例代码演示: Numpy常用函数的代码演示: Numpy的置换函数transpose.T和swapaxes演示与区别 T适用于一.二维数组 arr = np.arange(12).reshape(3

NumPy学习(索引和切片,合并,分割,copy与deep copy)

NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程序示例 import numpy as np #索引与切片 array=np.arange(3,15) print(array) print(array[3])#数组下标为3的元素 print('\n') print(array[1:3])#取从下标1到下标3,不包括下标3 print(array[

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]) 但是,特别注意的是,如果要将一个标量值赋值给一个切片,这个修改会直接反映到源数组上(即使你已经新建