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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 内核态和用户态的区别[通俗易懂]

    内核态和用户态的区别[通俗易懂]当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时,此时用户程序…

    2022年9月17日
    2
  • Oracle 触发器详解(trigger)「建议收藏」

    Oracle 触发器详解(trigger)「建议收藏」文章目录1概述2触发器管理2.1创建触发器2.1.1foreachrow2.1.2follows2.1.3when2.2查询触发器2.3删除触发器2.4常用属性2.4.1inserting、updating、deleting2.4.2now、old3触发器分类3.1DML触发器3.1.1单列触发:of列名3.2DDL触发器3.3Databse触发器3.4insteadof替换触发器1概述1.触发器是什么..

    2022年7月11日
    25
  • DDD中的建模方法有哪些[通俗易懂]

    DDD中的建模方法有哪些[通俗易懂]一、背景在之前的文章中已经介绍了DDD相关的概念模式,DDD相关的业务技术架构,但是我们还没有找到一个核心的抓手去实践DDD。DDD的一个核心本质就是对业务建模,或者领域建模。说的很简单,但是做好确实很难,一个需求过来意淫几个实体对象就差不多解决了。深入看,全局看只在脑海中进行的建模实际上并不一定正确和稳定。因此我们需要找到正确的方法帮助对业务领域进行分析,得到建模结构,共享建模成果。二、四色建模法2.1起源&概念&要素关于四色建模的概念我们可与追溯到90年代,起源于四色原型。四色

    2022年9月2日
    5
  • 移位指令实现乘法

    移位指令实现乘法includeirvine32.inc;.dataidword0;sumqword0;str1byte”请输入16进制的(32位整数)乘数和被乘数”,0str2byte”乘积为:”,0;jdword0;.codemainprocL1:movedx,offsetstr1;callwritestring;movj,0;moveax,0;eax为…

    2022年6月3日
    48
  • Layui弹出层取值

    Layui弹出层取值Layui弹出层取值1.首先在父页面定义要传过去的值table.on(‘tool(demo)’,function(obj){//obj为当前行对象vardata=obj.data;json=JSON.stringify(data);title=obj.event;//如果监听到父页面点击的是修改按钮if(obj.event===’edit’){

    2022年6月3日
    49
  • 安卓网络接口_ap接入点模式

    安卓网络接口_ap接入点模式Android的无线接口层(RIL)提供了Android电话服务(android.telephony)与无线电硬件之间的抽象层。RIL是通讯无关的,提供基于GSM的网络支持。       下图显示了RIL位于Android电话系统架构中的位置:  实线框表示Android部分,虚线框表示合作伙伴所专用的部分RIL包含两个基本部件:       RIL守护进程

    2025年6月6日
    3

发表回复

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

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