python中numpy的数组维度与切片

人工智能62

数组的索引与切片

  • 索引:获取数组中特定位置元素的过程
  • 切片:获取数组元素子集的过程

最简单基本的切片

a = np.array([9,8,7,6,5])
a[2]    #out 7
a[1:4:2}  #out array[8,6]

数组的切片

a = np.arange(24).reshape((2,3,4))
a   #out如下图

python中numpy的数组维度与切片

a[1,2,3]  #out:23
a[0,1,2]  #out:6
a[-1,-2,-3] #out:17

**数组的切片

a[:, 1, -3]   #out:array[5,17]
a[:, 1:3 ,:]  #如下图
a[:, :, ::2]  #如下图2

python中numpy的数组维度与切片

python中numpy的数组维度与切片

为什么是这样的呢?

1.1维度的解释

关于维度,一维其实就是数组内容,最基本的几个数据组成的一个数组就是一维数组

  • [0,1,2,3] #一维数组
  • [ [0,1,2,3], [0,1,2,3], [1,2,3,4] ] #数组里面包含数组,二维数组
  • [ [ [0,1,2,3], [0,1,2,3] ],

[ [0,1,2,3], [0,1,2,3] ] ] #类似层层嵌套(这是个三维数组)

其实有一个简单判断是几维数组的方法,那就是:数中括号最多的括号数,括号数为几,就是几维度

例如,三维数组最前面有三个括号(所有数字前括号最多的,所以为三维数组)

这里其实还有一个易错点,不是有几个数组就有几维了(实际无论有多少个数组它都是在这一个维度内),很多次我都会无意识犯这种错误,认为类似shape(10,10)是10维数组,其实这是很离谱的错误,其实它只是一个二维数组.取决于数组的并不是数组的个数,而是数组嵌套的次数.其实维度数为shape内的数字个数,例如:

(10,2,3) 就是三维数组

(1,3,2,7,4)就是五维数组

1.2数组切片的格式

数组的切片格式是:[n维,n-1维.,...,3维,2维,1维]

其实 每个维度切片都是靠a:b类似的类型, 而靠","才分开了各个维度

所以解释起来也就是

  1. 一维取到1:3 (取维度和行,列数从零开始) ,而零维和二维全取

  2. 一维二维全取,零维步长为2.

练习:打印边框为0内部为1的10*10矩阵

import numpy as np
a = np.ones((10,10))
a[0,:] = 0
a[-1,:] = 0
a[:,0]= 0
a[:,-1]= 0
a

python中numpy的数组维度与切片

Original: https://blog.csdn.net/m0_57753629/article/details/122441422
Author: 是菜鸡w
Title: python中numpy的数组维度与切片

相关文章
SparkSQL和DataFrame 人工智能

SparkSQL和DataFrame

SparkSQL和DataFrame SparkSQL简介 Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。它...
OCR文字识别经典论文详解 人工智能

OCR文字识别经典论文详解

✨ 写在前面:强烈推荐给大家一个优秀的人工智能学习网站,内容包括人工智能基础、机器学习、深度学习神经网络等,详细介绍各部分概念及实战教程,通俗易懂,非常适合人工智能领域初学者及研究者学习。➡️点击跳转...
事件抽取相关数据集整理 人工智能

事件抽取相关数据集整理

抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。 Original: https://blog.cs...
耗时2天,我自制了一台体感游戏机 人工智能

耗时2天,我自制了一台体感游戏机

大家好,欢迎来到 Crossin的编程教室~ 几天不见,Crossin 又去做什么游戏去了呢?这次我做的不是游戏,而是游戏机!而且是体感游戏机。 但往前几年,其实还有另一个非常火的体感游戏设备,就是 ...
Resnet概述及代码 人工智能

Resnet概述及代码

ResNet 网络由来 《用于图像识别的深度残差学习》(Deep Residual Learning for Image Recognition)[1]。这篇论文获得了 CVPR 2016 的最佳论文...