Numpy数组切片总结

Python之数据分析(Numpy的数组切片、数组变维、组合与拆分) 文章目录一、Numpy的切片二、数组变维三、组合与拆分 一、Numpy的切片 1、格式 数组[起始:终止:步长] 2、缺省值 缺省起始:步长为正,首;步长为负,尾 缺省终止:步长为正,尾后;步长为负,首前 缺省步长:1 3、端部切片 靠近端部的一个或几个连续的维度使用缺省切片,可以用“…”表示 print(a[3:6]): 起始包括终止不包括:有指定起始值,则不包括起始值,即4到6包括6 print(a[-4:-7:-1]) :步长为-1,起始是倒数第3个即7(不包括),终止是倒数第6个即4(包括) 4 阅读详情

数组切片规则:[start:end]

还可以定义步长:[start:end:step]

若不传递 start,则将其视为 0。例如 [:3] 等价于 [0:3]

若不传递 end,则视为该维度内数组的长度。例如[1:] 等价于从第一个元素开始一直截取到末尾。

若不传递 step,则视为 1,即默认步长为1,可以省略不写。

特别的:[::2]  表示隔一个元素取一个,因为 start 没写默认为0, end 也没写默认为截取到末尾,步长设定为2。

注:元素下标从0开始

一些例子:

# -*- coding: utf-8 -*-
import numpy as np

b = np.array([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]],
              [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]],
              [[25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]],
              ])


#逗号分隔维度,维度下标从0开始
#数组元素下标也是从0开始
print("原始数组:")
print(b)
print("数组类型: ",b.shape)
print()

print("---------------------------------------")
print("第0维中第0个元素全选")
print("b[0, ::]为:")
print(b[0, ::])             #第0维中第0个元素全选
print("数组类型:", b[0, ::].shape)
print("---------------------------------------")
print()

print("第0维中第0到1个元素全选")
print("b[0:2, ::]为:")
print(b[0:2, ::])         #第0维中第0到1个元素全选
print("数组类型:", b[0:2, ::].shape)
print("---------------------------------------")
print()

print("第1维中从第1个元素开始往后全选")
print("b[:, 1:]为:")
print(b[:, 1:])             #第1维中从第1个元素开始往后全选
print("数组类型:", b[:, 1:].shape)
print("---------------------------------------")
print()

print("---------------------------------------")
print("第1维中第0、1个元素全选")
print("b[:, 0:2:]为:")
print(b[:, 0:2:])             #第1维中第0、1个元素全选
print("数组类型:", b[:, 0:2:].shape)
print("---------------------------------------")
print()

print("---------------------------------------")
print()
print("第1维中第0个元素全选")
print("b[::, 0]为:")
print(b[::, 0])             #第1维中第0个元素全选
print("数组类型:", b[::, 0].shape)
print("---------------------------------------")
print()


print("---------------------------------------")
print("第2维中第0个元素全选")
print("b[:, :, 0]为:")
print(b[:, :, 0])             #第2维中第0个元素全选
print("数组类型:", b[:, :, 0].shape)
print("---------------------------------------")
print()

 代码运行结果:


原始数组:
[[[ 1  2  3  4]
  [ 5  6  7  8]
  [ 9 10 11 12]]

 [[13 14 15 16]
  [17 18 19 20]
  [21 22 23 24]]

 [[25 26 27 28]
  [29 30 31 32]
  [33 34 35 36]]]
数组类型:  (3, 3, 4)

---------------------------------------
第0维中第0个元素全选
b[0, ::]为:
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
数组类型: (3, 4)
---------------------------------------

第0维中第0到1个元素全选
b[0:2, ::]为:
[[[ 1  2  3  4]
  [ 5  6  7  8]
  [ 9 10 11 12]]

 [[13 14 15 16]
  [17 18 19 20]
  [21 22 23 24]]]
数组类型: (2, 3, 4)
---------------------------------------

第1维中从第1个元素开始往后全选
b[:, 1:]为:
[[[ 5  6  7  8]
  [ 9 10 11 12]]

 [[17 18 19 20]
  [21 22 23 24]]

 [[29 30 31 32]
  [33 34 35 36]]]
数组类型: (3, 2, 4)
---------------------------------------

---------------------------------------
第1维中第0、1个元素全选
b[:, 0:2:]为:
[[[ 1  2  3  4]
  [ 5  6  7  8]]

 [[13 14 15 16]
  [17 18 19 20]]

 [[25 26 27 28]
  [29 30 31 32]]]
数组类型: (3, 2, 4)
---------------------------------------

---------------------------------------

第1维中第0个元素全选
b[::, 0]为:
[[ 1  2  3  4]
 [13 14 15 16]
 [25 26 27 28]]
数组类型: (3, 4)
---------------------------------------

---------------------------------------
第2维中第0个元素全选
b[:, :, 0]为:
[[ 1  5  9]
 [13 17 21]
 [25 29 33]]
数组类型: (3, 3)
---------------------------------------


 

NumPy 三维数组以及高维数组切片和索引 1,Indexing and slicing numpy arrays https://www.pythoninformer.com/python-libraries/numpy/numpy-and-images/ In this section we will look at indexing and slicing. These work in a similar way to indexing and slicing with standard Pythonlists, with a few d. 阅读详情

相关推荐

Kali实战:LAMPSecurity CTF5靶场渗透全流程(附详细漏洞利用步骤)

本文详细解析了Kali Linux在LAMPSecurity CTF5靶场渗透中的全流程,包括靶场环境搭建、Web应用漏洞挖掘、横向移动与权限提升等关键步骤。通过实战案例演示了如何利用NanoCMS漏洞获取系统权限,并提供了详细的防御措施与加固建议,帮助安全人员提升渗透测试技能。

weixin_29230901的博客 211

Python中numpy数组切片

1、基本概念 Python中符合切片并且常用的有:列表,字符串,元组。 下面那列表来说明,其他的也是一样的。 格式:[开头:结束:步长] 开头:当步长>0时,不写默认0。当步长<0时,不写默认-1 结束:当步长>0时,不写默认列表长度加一。当步长<0时,不写默认负的列表长度减一 步长:默认1,>0 是从左往右走,<0是从右往左走 遵循左闭右开原则,如:[0:9]等价于数学中的[0,9) # 字符串中用法 str = 'python' print(str[::]) #

南桥几经秋 1万+

ESP32S3编译micropython固件

编译ESP32芯片的micropython固件

m0_73253860的博客 2554

python Numpy中的切片操作

切片操作在数组提取数据中经常用到,但使用灵活,有时不能理解具体的处理过程. 所以将其彻底弄明白很有必要. 直接上例子 import numpy as np # 随便设置一组维度为10的数组 a, 其索引为0-9. a = np.array([1, 4, 5, 2, 9, 6, 6, 7, 8, 0]) # 随便设置一个数组a, 其索引为0-9. #切片对象可以通过内置的 slice(start, stop,step)函数,并设置相应值从原数组中切割出一个新数组。 s = slice(2, 7, 2) #

xiongzai2016的博客 1139

量子阱技术解析:从基础原理到前沿应用

本文深入解析量子阱技术,从微观“能量游泳池”的基础原理出发,阐释了其通过限制电子实现能级量子化,从而精确调控发光波长的核心机制。文章详细探讨了量子阱在半导体激光器和LED中的革命性应用,如实现低阈值电流与高亮度显示,并展望了其在能带工程及量子级联激光器等前沿领域的发展与挑战。

weixin_29267307的博客 282

【科技前沿】用深度强化学习优化电网,让电力调度更聪明!

Hey小伙伴们,今天我要跟大家分享一个超级酷炫的技术应用——深度强化学习在电网优化中的典型案例!如果你对机器学习感兴趣,或是正寻找如何用AI技术解决实际问题的方法,这篇分享绝对不容错过!👩‍💻✨

Jacklx888的博客 3247

Python中的Numpy详解-3-Ndarry 切片

正如之前提到的,我们除了能够一次访问一个元素之外,NumPy 还提供了访问 ndarray 子集的方式,称之为切片。切片方式是在方括号里用冒号分隔起始和结束索引。第一种方法用于选择在start和end索引之间的元素。第二种方法用于选择从start索引开始直到最后一个索引的所有元素。第三种方法用于选择从第一个索引开始直到end索引的所有元素。请注意,在第一种方法和第三种方法中,结束索引不包括在内。此外注意,因为 ndarray 可以是多维数组,在进行切片时,通常需要为数组的每个维度指定一个切片。==

Saki_Python的博客 1192

【Maxwell16.0】实战指南:从DXF导入到MotorCAD联合仿真的关键技巧

本文详细解析了Maxwell 16.0与MotorCAD进行联合仿真的核心流程与关键技巧。重点阐述了从DXF模型导入、几何修复、一极一槽模型剪裁,到坐标系对齐、MotorCAD参数匹配及结果验证的全过程,旨在帮助工程师高效打通联合仿真链路,规避常见错误,提升电机设计效率。

weixin_29062865的博客 717

Python中numpy数组切片:print(a[0::2])、[::-1]、[::2]、[:,2]、[1:,-1:]、[ : ,: -1],[:,-2:]、[ : n]、[m : ]等含义(详细)

numpy 一维、二维数组切片操作,附详细示例。数组切片用到的负数值怎么理解附了很多例子!a[:-1],a[::-1],a[-2:-1],a[-2::-1]、X[ : , :-1],X[ : ,-1: ],x[:,-2:],x[:,-2:-1]可以自己试一试就懂了。

锵锵锵锵蒋的博客 19万+

YOLOv11低照度增强主干网络PE-YOLO:原理与完整实现教程

编码器部分# 解码器部分self.dec_conv2 = nn.Conv2d(512, 128, 3, padding=1) # 跳跃连接self.dec_conv3 = nn.Conv2d(256, 64, 3, padding=1) # 跳跃连接self.dec_conv4 = nn.Conv2d(128, 32, 3, padding=1) # 跳跃连接# 编码路径# 解码路径(带跳跃连接)

FJN110的博客 727

基于Transformer的股票市场多因子量化选股模型,深度解析:基于Transformer的股票市场多因子量化选股模型

传统多因子模型通常采用线性回归、岭回归或Lasso回归来估计因子权重,其核心假设是因子与未来收益之间存在线性关系。然而,现实中的股票市场具有典型的非线性、非平稳和高噪声特征。卷积神经网络(CNN)擅长提取局部特征,但难以捕捉全市场股票之间的全局依赖关系;循环神经网络(RNN)及其变体LSTM虽然能处理时间序列,但存在梯度消失问题且难以并行计算。Transformer的self-attention机制能够:直接建模任意两只股票之间的相关性动态计算因子权重而非静态线性组合。

YOLO 250

numpy.array多维数组的切片操作总结

numpy.array多维数组的切片操作总结一 常规介绍1 一维数组切片2 二维数组的切片3 维数超过 3 的多维数组,可通过 '…' 来简化操作4 numpy中对切片元素的操作会影响原数组本身5 array和list的对比6 boolean/mask index二 多维数组array[index,index]和array[index][index]的区别 一 常规介绍 1 一维数组切片 一维数组类似于一条直线(一维),其上的坐标位置用一个数字就可表示,一个数字代表一个位置,对应一个值。 >>&

LIWEI940638093的博客 1万+

推荐系统(十六):基于ESMM的商品召回/推荐系统

ESMM(Entire Space Multi-Task Model)是阿里巴巴提出的多任务学习框架,通过联合建模点击率(CTR)和点击转化率(CVR)解决传统CVR模型样本稀疏问题。其核心思想是将 CVR 定义为 CTR 与 CTCVR 的条件概率,模型包含两个子任务。

Jin_Kwok的博客 1266

NumPy数组切片

`NumPy` 的 **​​切片(Slicing)​** ​操作允许高效地访问和操作数组的子集,其语法与 `Python` 列表类似但更强大,支持​ **​多维切片​** ​和​ **​视图机制**​​(非副本)。以下是核心用法详解

Humbunklung的专栏 1322

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

NumPy 数组切片

来源:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切片 NumPy 广播 NumPy 数组迭代 NumPy 位运算 NumPy 字符串函数 NumPy 数学函数 NumPy 统计函数 NumPy 排序、查找、计数...

吴吃辣 295

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

numpy数组切片:一维/二维/数组

文章目录numpy数组切片操作一维数组(冒号:)1、一个参数:a[i]2、两个参数:b=a[i:j]3、三个参数:格式b = a[i:j:s]4、例子二维数组(逗号,)取元素 X[n0,n1]切片 X[s0:e0,s1:e1]切片特殊情况 X[:e0,s1:]代码实例reference numpy数组切片操作 列表用 [ ] 标识,支持字符,数字,字符串甚至可以包含列表(即嵌套),是 python 最通用的复合数据类型。 关于索引 从左到右索引默认 0 开始,从右到左索引默认 -1 开始。 一维数组(冒号

格物致知 5315

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 np X = np.arr...

锐博客 2万+

numpy的数组切片讲解

import numpy as np a = np.array([[1.1,2.1,3.1,4.1],[5,6,7,8],[9,10,11,12]]) a 使用省略号来省略数组的参数的用法 print (a[...,1]) # 索引为1的列元素 print ('--------') print (a[1,...]) # 索引为1的行元素 print ('--------') print (a[...,1:]) # 索引为1的列及剩下的所有列元素 print ('-----.

qq_41166909的博客 6100

numpy数组切片总结

索引和切片 注意点:将一个标量赋值给一个切片时,该值会自动传给选区中的每个元素,所以,任何修改都是在原数据之上的修改 如果不想再原数据上修改,则可以调用复制操作,ary.copy(),然后进行修改操作 一维数组切片和Python列表差不多 # 数组切片 import numpy as np # 一维情况 d1 = np.arange(10) print(d1) # 截取前三个 print(...

yujiajun13的博客 636

【Numpy】03 数组的切片和索引操作深入详解

在数据分析和科学计算中,NumPy 是一个关键工具。本文将详细讲解 NumPy 数组的索引和切片操作。从基本概念入手,解释什么是索引和切片,以及它们的用途。通过一系列代码示例,你将学会如何在一维和多维数组中进行索引和切片操作,还会了解负索引的用法及其与 Python 列表切片的区别。无论你是新手还是希望巩固基础的老手,这篇博客都将为你提供实用的技巧和知识。快来探索 NumPy 数组的奇妙世界吧!

高校教师 | AI兴趣者 专注Python|大数据|LLM学习 分享浅显易懂知识体系 3340

python numpy切片_Python中numpy数组切片

1、基本概念Python中符合切片并且常用的有:列表,字符串,元组。下面那列表来说明,其他的也是一样的。格式:[开头:结束:步长]开头:当步长>0时,不写默认0。当步长<0时,不写默认-1结束:当步长>0时,不写默认列表长度加一。当步长<0时,不写默认负的列表长度减一步长:默认1,>0 是从左往右走,<0是从右往左走遵循左闭右开原则,如:[0:9]等价于数学中的...

weixin_39661345的博客 565

Python库之numpy之数组切片

众所周知,python中有很多的库,numpy就是其中的一个库,做数据分析必备的库之一, 今天就让我们来学一下,numpy的切片 今天上课学这个切片切的我快自卑了,为啥为啥,脑子里全是为啥,为啥不是我想要的结果呢?后来花了半小时弄懂终于弄懂了,年轻人还是需要一些锲而不舍的精神的 首先让我们定义一个多维数组 1:导入numpy import numpy as np 2:定义一个数组(我发现用Spyder还是挺好用的,可以看到数据,不用输出) D=np.array([[1,2,3,4],[5,6,7,8],[

Recently祝祝的博客 3441
上一篇: 用PyQt5实现一个渐隐动画的消息弹窗
下一篇: Numpy数组拼接总结
daimashiren
博客等级 码龄9年 97粉丝 51原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daimashiren

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值