当前位置: 首页 > news >正文

04.Python代码NumPy-通过索引或切片来访问和修改

04.Python代码NumPy-通过索引或切片来访问和修改

提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是Python基础语法。前后每一小节的内容是存在的有:学习and理解的关联性,希望对您有用~
python语法-numPy 第四节 :通过索引或切片来访问和修改

上一小节详细分享了各种不同的方法用来创建NumPy的数组,本小节可能会用到各个方法来创建一个原始数组,如晕,可查:
不同方法创建NumPy数组


文章目录

  • 04.Python代码NumPy-通过索引或切片来访问和修改
  • 一、索引取值
    • 一维数组取值
    • 二维数组取值
  • 二、切片
    • 一维数组切片
    • 二维数组切片
  • 额外的切片或者索引
    • 单个索引 跳着取两个
    • 条件切片


一、索引取值

一维数组取值

索引可以获取到数组中的单个元素

取一维数组的数据,从0开始为下标 使用:[下标] 取值

import numpy as np
#从0开始
arr01 = np.array([10, 20, 30, 40, 50])
print(arr01[0])  # 输出第一个元素,结果为10
print(arr01[2])  # 输出第三个元素,结果为30

在这里插入图片描述

二维数组取值

取二维数组(矩阵)的数据,从0开始。第一个索引用于选择行,第二个索引用于选择列。

arr02 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr02)#输出矩阵看一眼
print(arr02[1, 2])  # 输出第二行第三列的元素,结果为6

在这里插入图片描述

二、切片

切片的概念:允许访问数组的一部分,而不是单个元素。你可以指定一个范围。
或者从原数组中切割出一个新数组(切片)。

一维数组切片

1.切片对象可以通过内置的 slice 函数

import numpy as npa = np.arange(10)
print(a)
#声明一个切片变量
#较常用:数据处理和人工智能的时候
#    能保证所有数据都是一样的切片。使用同一个切片对象
s = slice(2,7,2)#从索引2开始到7结束,间隔为2
print(a[s]) #将s作为参数传递给a

在这里插入图片描述
2.使用冒号分隔切片参数 start:stop:step(开始:结束:步长)
这个返回一个新的数组

a01 = np.arange(10)
print(a01)
a02 = a01[2:7:2]##从索引2开始到7结束,间隔为2
print(a02)

运行结果和刚才一样的
在这里插入图片描述
1和2里面的间隔参数,可以不用传。就直接是开始索引到结束索引中间的数据(没有间隔),如:a01[2:7]

3.使用冒号语法
[2],将返回与该索引相对应的单个元素。(这不就是索引语法嘛~)
如果为 [2:],表示从该索引开始以后的所有项都将被提取

arr = np.arange(10)
print(arr)
print(arr[2])
print(arr[2:])

在这里插入图片描述

二维数组切片

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr)
print(arr[1:, 1:])  # 从第二行第二列开始到最后的元素,结果为[[5, 6], [8, 9]]

在这里插入图片描述


额外的切片或者索引

单个索引 跳着取两个

arr = np.array([10, 20, 30, 40, 50])
# 选择索引为1和3的元素,结果为[20, 40]
# 没有顺序 没有条件
#注意 语法
print(arr[[1, 3]])

在这里插入图片描述

条件切片

arr = np.array([10, 20, 30, 40, 50])
# 选择大于20的元素,结果为[30, 40, 50]
#注意语法
print(arr[arr > 20])  

在这里插入图片描述


(会陆续更新非常多的IT技术知识及泛IT的电商知识,可以点个关注,共同交流。比心)


文章转载自:

http://we1KEkA0.qmwzr.cn
http://otChzFuL.qmwzr.cn
http://Z6n9qGqR.qmwzr.cn
http://JS7tAWn2.qmwzr.cn
http://UzdQiUH0.qmwzr.cn
http://9yF2cFLz.qmwzr.cn
http://rUuWIRhY.qmwzr.cn
http://aaULUVAh.qmwzr.cn
http://zxoqX07F.qmwzr.cn
http://VFwCLvXi.qmwzr.cn
http://od7WrKT9.qmwzr.cn
http://MyLDXN7v.qmwzr.cn
http://wrrUnijh.qmwzr.cn
http://7dVRi8XE.qmwzr.cn
http://QCE40Cvl.qmwzr.cn
http://BdNyM1bZ.qmwzr.cn
http://C048MBiw.qmwzr.cn
http://vyYHRa6T.qmwzr.cn
http://Is3gsokn.qmwzr.cn
http://3TMqlSbn.qmwzr.cn
http://RTOE0NDG.qmwzr.cn
http://HCjwqdLz.qmwzr.cn
http://SNdk75Mp.qmwzr.cn
http://gWsR27vx.qmwzr.cn
http://cs4jrypM.qmwzr.cn
http://XBPSBBlV.qmwzr.cn
http://p8YYSScs.qmwzr.cn
http://ouNBCIca.qmwzr.cn
http://Ri4D5UuF.qmwzr.cn
http://3n4XYl6g.qmwzr.cn
http://www.dtcms.com/a/136578.html

相关文章:

  • 【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——4G模块ME3630测试
  • TinyEngine 2.4版本正式发布:文档全面开源,实现主题自定义,体验焕新升级!
  • Java转Go记录:Slice解密
  • 负载均衡的实现方式有哪些?
  • 【大模型】DeepSeek + Coze 打造个人专属AI智能体使用详解
  • uniapp-商城-27-vuex 通用方法
  • 数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记4
  • OpenGL shader开发实战学习笔记:第十章 法线贴图
  • 记录一下Springboot项目的Security,配置
  • 第16届蓝桥STEMA真题剖析-2024年12月22日Scratch初/中级组
  • 线代第二章矩阵第三、四课:矩阵乘法和方阵的幂
  • 主流物理仿真引擎和机器人/强化学习仿真平台对比
  • Spring缓存抽象机制
  • ADB的安装及抓取日志(2)
  • Kafka深度解析与实战应用
  • 流程设计实战:流程架构设计六步法
  • C++学习:六个月从基础到就业——面向对象编程:构造函数与析构函数
  • Java 中的各种锁详解
  • 【AAOS】【源码分析】Car UX Restrictions
  • Spring Boot中接入DeepSeek的流式输出
  • 鸿蒙应用(医院陪诊系统)开发篇1·主页面的tabs布局
  • 第 4 篇:Motion 拖拽与手势动画(交互篇)—— 打造直觉化交互体验
  • 芯片测试工具系统Demo示例
  • 探索鸿蒙沉浸式:打造无界交互体验
  • MVC协同工作流程
  • langchain框架-文档分割器详解(非官方库)
  • BTS7960 直流电机控制程序
  • 音视频之H.265/HEVC预测编码
  • 软考备考(一)学习笔记
  • ZYNQ系列SOC或FPGA常用核心电源方案选型