龙空技术网

numpy基础之多维数组获取和修改元素

梯阅线条 71

前言:

当前小伙伴们对“python数组加元素”大体比较注重,朋友们都需要分析一些“python数组加元素”的相关资讯。那么小编同时在网摘上汇集了一些对于“python数组加元素””的相关知识,希望姐妹们能喜欢,朋友们快快来学习一下吧!

1 numpy基础之多维数组获取和修改元素

在多维数组中,数组有多少维,就表示有多少轴,通过索引下标获取对应轴索引的元素,如果下标包含全部轴,则返回变量,否则返回低一轴的数组。

1.1 多维数组获取元素

描述

在多维数组中,只使用部分轴的索引,则返回对象是维度低一轴的ndarray。使用全部轴的索引,则返回标量。

多维数组,有多个轴,最外层为0轴,索引下标从0轴开始。

[m,n,o]表示0轴上索引为m,1轴上索引为n,2轴上索引为o的下标。

[m,n,o]索引下标等价于m[o]索引下标。

示例

 >>> import numpy as np # 创建二维数组 >>> ar2d=np.array([[10,11,12],[13,14,15]]) >>> ar2d array([[10, 11, 12],        [13, 14, 15]]) # 二维数组,单索引获取低一维度的一维数组 # 二维数组,有2个轴,轴0(axis0)为行,轴1(axis1)为列 # 单索引获取的是轴0上的数据,其索引对应的是轴0上的索引 # [n]获取axis0轴上索引为n的一维数组 >>> ar2d[0] array([10, 11, 12]) >>> ar2d[1] array([13, 14, 15]) # 二维数组,双索引获取轴0和轴1指定索引的单个元素 # [m][n]获取在轴0的索引为m,轴1的索引为n对应的元素 >>> ar2d[0][1] 11 # [m,n]同[m][n] # 获取在轴0的索引为m,轴1的索引为n对应的元素 >>> ar2d[0,1] 11   # 创建三维数组 >>> ar3d=np.array([[[11,12,13],[14,15,16]],[[21,22,23],[24,25,26]]]) # 三维数组有三个轴,axis0,axis1,axis2 >>> ar3d array([[[11, 12, 13],         [14, 15, 16]],         [[21, 22, 23],         [24, 25, 26]]]) # [n]获取0轴上索引为n的二维数组 >>> ar3d[0] array([[11, 12, 13],        [14, 15, 16]]) # [m][n]获取0轴上索引为m,1轴上索引为n的一维数组 >>> ar3d[0][1] array([14, 15, 16]) # [m][n][o]获取0轴上索引为m,1轴上索引为n,2轴上索引为o对应的元素 >>> ar3d[0][1][2] 16 # [m,n]同[m][n] >>> ar3d[0,1] array([14, 15, 16]) # [m,n,o]同[m][n][o] >>> ar3d[0,1,2] 16
1.2 多维数组修改元素

描述

多维数组,有多个轴,最外层为0轴,索引下标从0轴开始。

[m,n,o]表示0轴上索引为m,1轴上索引为n,2轴上索引为o的下标。

多维数组非标量元素可以通过标量赋值和数组赋值。

通过标量赋值时,指定索引的元素被赋值为相同标量值。

通过数组赋值时,指定索引的元素与赋值数组需有相同的形状。

示例

 >>> import numpy as np # 创建二维数组 >>> ar2d=np.array([[10,11,12],[13,14,15]]) >>> ar2d array([[10, 11, 12],        [13, 14, 15]])  >>> vals_2d1=ar2d[1].copy() >>> vals_2d1 array([13, 14, 15]) # 通过标量赋值 >>> ar2d[1]=22  # 轴0上索引为1的一维数组被赋值为22 >>> ar2d array([[10, 11, 12],        [22, 22, 22]]) # 通过数组赋值 >>> ar2d[1]=vals_2d1 # 轴0上索引为1的数组被赋值为vals_2d1数组 >>> ar2d array([[10, 11, 12],        [13, 14, 15]])   # 创建三维数组 >>> ar3d=np.array([[[11,12,13],[14,15,16]],[[21,22,23],[24,25,26]]]) # 三维数组有三个轴,axis0,axis1,axis2 >>> ar3d array([[[11, 12, 13],         [14, 15, 16]],         [[21, 22, 23],         [24, 25, 26]]]) >>> vals_3d10=ar3d[1,0].copy() >>> vals_3d10 array([21, 22, 23]) # 通过标量赋值 # 0轴上索引为1,1轴上索引为0的数组被赋值为22 >>> ar3d[1,0]=68 >>> ar3d array([[[11, 12, 13],         [14, 15, 16]],         [[68, 68, 68],         [24, 25, 26]]]) # 通过数组赋值 # 0轴上索引为1,1轴上索引为0的数组被赋值为vals_3d10数组 >>> ar3d[1,0]=vals_3d10 >>> ar3d array([[[11, 12, 13],         [14, 15, 16]],         [[21, 22, 23],         [24, 25, 26]]])
2 END

本文首发微信公众号:梯阅线条

更多内容参考python知识分享或软件测试开发目录。

标签: #python数组加元素 #python numpy数组添加元素 #两个数组找相同元素python #如何求多维数组的元素个数 #numpy找到元素的下标