当前位置: 首页 > 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的电商知识,可以点个关注,共同交流。比心)

相关文章:

  • 【正点原子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的流式输出
  • 自建企业网站/最好用的搜索引擎
  • 建立网站基本知识/厦门网站的关键词自动排名
  • 网站建设超链接字体变色代码/百度深圳总部
  • 高安建站公司/指数分布
  • 百度微信官网网站模板/常见的网络营销手段
  • 网站开发范例文档/广州专业seo公司