python numpy数组切片_python列表切片详解

python numpy数组切片_python列表切片详解python的数组切片操作很强大,但有些细节老是忘,故写一点东西记录下来。在python&numpy中切片(slice)对于一维数组来说,python的list和numpy的array切片操作都是相似的。无非记住arr[start:end:step]即可下面是几个特殊的例子[:]表示复制源列表负的index表示,从后往前。-1表示最后一个元素。相对于一维数组而言,二维(多维)数组用的会更多…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

python的数组切片操作很强大,但有些细节老是忘,故写一点东西记录下来。

在python&numpy中切片(slice)

对于一维数组来说,python的list和numpy的array切片操作都是相似的。无非记住

arr[start:end:step]

即可

下面是几个特殊的例子

[:]表示复制源列表

负的index表示,从后往前。-1表示最后一个元素。

相对于一维数组而言,二维(多维)数组用的会更多。一般语法是arr_name[行操作, 列操作]

先随机产生一个3*4的数组

in:arr = np.arange(12).reshape((3, 4))

out:

array([[ 0, 1, 2, 3],

[ 4, 5, 6, 7],

[ 8, 9, 10, 11]])

取行数据

arr[i, :] #取第i行数据

arr[i:j, :] #取第i行到第j行的数据

取列数据(注意数据格式)

in:arr[:,0] # 取第0列的数据,以行的形式返回的

out:

array([0, 4, 8])

in:arr[:,:1] # 取第0列的数据,以列的形式返回的

out:

array([[0],

[4],

[8]])

取一个数据块

取第一维的索引1到索引2之间的元素,也就是第二行

取第二维的索引1到索引3之间的元素,也就是第二列和第三列

in:arr[1:2, 1:3]

out:

array([[5, 6]])

取第一维的全部

按步长为2取第二维的索引0到末尾之间的元素,也就是第一列和第三列

in: arr[:, ::2]

out:

array([[ 0, 2],

[ 4, 6],

[ 8, 10]])

补充:数组里的-1代表倒序,而reshape里的-1代表未知!!!!!

一个数组a=[0,1,2,3,4],a[-1]表示数组中最后一位,a[:-1]表示从第0位开始直到最后一位,a[::-1]表示倒序,从最后一位到第0位。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170345.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java二维对象数组_java 二维数组和对象数组

    java二维对象数组_java 二维数组和对象数组1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组2.二维数组的初始化1)intintA[][]={{1,2},{2,3},{3,4,5}};2)int[][]intB=newint[3][5];3)int[]intC[]=newint[3][];intC[0]=newint[2];intC[1]=newint[3];intC[2]=newint[5];1…

    2022年6月10日
    56
  • mask rcnn实现教程「建议收藏」

    mask rcnn实现教程「建议收藏」一,首先去github上下载mask-rcnn源码,这里提供一个百度网盘地址链接:https://pan.baidu.com/s/1htJYyNy密码:0r2b含可运行DEMO更新链接:https://pan.baidu.com/s/1HBPtIPz0xpZsCprl7rc6hw密码:bvm5二,下载对应的mask_rcnn_coco.h5模型,这里给出百度网盘下载地址链接:h……

    2022年10月4日
    3
  • ARM版Oracle安装包_如何把Linux移植到手机

    ARM版Oracle安装包_如何把Linux移植到手机  linux作为一款流行的嵌入式系统,目前已经有多种架构的MCU支持Linux移植,arm64就是其中一种。今天在这里想做一个笔记,记录一下完整的arm64移植过程。嵌入式Linux系统组成部分嵌入式Linux移植到开发板上时,主要有四个组成部分,下面一一列举。  在启动过程中,bootloader加载设备树文件(dtb),之后启动内核(Startkernel),进而加载根文件系统(debian或者ubuntu),最后进入系统。  那么我们所做的工作可以分为以下三部分:1、进行bootlo

    2022年9月17日
    4
  • count(): Parameter must be an array or an object that implements Countable

    count(): Parameter must be an array or an object that implements Countablecount(): Parameter must be an array or an object that implements Countable

    2022年4月24日
    54
  • Linux C中的open函数「建议收藏」

    Linux C中的open函数「建议收藏」open函数属于Linux中系统IO,用于“打开”文件,代码打开一个文件意味着获得了这个文件的访问句柄。intfd=open(参数1,参数2,参数3);intfd=open(constchar*pathname,intflags,mode_tmode);1.句柄(filedescriptor简称fd)首先每个文件都属于自己的句柄,例如标准输入是0,标准输出是…

    2022年5月9日
    50
  • 频次最高的38道selenium面试题及答案(下)[通俗易懂]

    频次最高的38道selenium面试题及答案(下)[通俗易懂]20、selenium中隐藏元素定位,你该如何做?隐藏元素可以正常定位到,只是不能操作(定位元素和操作元素是两码事,操作元素是指click、clear、send_keys等这些方法)。我们可以用js来操作隐藏元素。js和selenium不同,只有页面上有的元素(在dom里面的)都能正常操作。21、如何判断一个页面上元素是否存在?法1:用try…except在代码块加上法2:用elements定义组元素方法然后根其元素个数len()<1存在返回True,不存在则返回F.

    2022年6月20日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号