开发者

关于Numpy中数组维度的理解

开发者 https://www.devze.com 2023-11-19 11:50 出处:网络 作者: huahuahuahhhh
目录一、数组中的各个维度表示的是什么?1. 以二维数组为例2. 以3维数组举例二、数组中按维度计算二维数组中按维度求和维数组按维度求和1 axis=02 axis=13 axis=2一、数组中的各个维度表示的是什么?
目录
  • 一、数组中的各个维度表示的是什么?
    • 1. 以二维数组为例
    • 2. 以3维数组举例
  • 二、数组中按维度计算
    • 二维数组中按维度求和
    • 维数组按维度求和
      • 1 axis=0
      • 2 axis=1
      • 3 axis=2

一、数组中的各个维度表示的是什么?

为了便于理解,用单位体表示,剥去一层中括号后,得到的数据。

1. 以二维数组为例

import numpy as np
np.random.seed(0)
arr2 = np.random.randint(0,9,size=(4,3))
print(arr2)

[[5 0 3]

 [3 7 3]

 [5 2 4]

 [7 6 8]]

这个二维数组,总共有两层中括号。在剥去最外层的中括号后,是4个长度为3的一维数组: [5 0 3],[3 7 3],[5 2 4],[7 6 8] 。拿任意一个单位体举例,如 [5 0 3] ,剥去中括号,是3个单位体 5,0,3 .

2. 以3维数组举例

arr2 = np.random.randint(0,9,size=(2ynhNWVl,4,3))

[[[5 0 3]

  [3 7 3]

  [5 2 4]

  [7 6 8]]

 [[8 1 6]

  [7 7 8]

  [1 5 8]

  [4 3 0]]]

这个javascript三维数组,总共有三层中括号。在剥去最外层的中括号后,是2个(4,3)的数组(绿色方框表示的):

关于Numpy中数组维度的理解

后面就和二维数组的表示方法相同。 数组剥去最外层中括号后,得到的单位体的个数表示第0个维度( axis=0 )的大小,次外层就是第二个维度( axis=1 )的大小编程客栈,以此类推。

二、数组中按维度计算

二维数组中按维度求和

arr.sum(axis=0)

数组是尺寸是(4,3),按第0个维度求和后,维度为 (3,)

关于Numpy中数组维度的理解

arr.sum(axis=1)

关于Numpy中数组维度的理解

维数组按维度求和

1 axis=0

数组是尺寸是(2,4,3),按第0个维度求和后,维度为 (4,3) .两个(4,3)的矩阵,对应位置上的元素求和。 剥去最外层中括号后的单位体上对应元素求和

关于Numpy中数组维度的理解

2 axis=1

过程: 数组是尺寸是(2,4,3),剥去最外层的中括号,是两个单位体(4,3)——最外编程层单位体。两个单位体再剥去一层中括号,得到4个(3,)的数组——次外层单位体。每个最外层单位体内的次外层单位体上相应位置的元素分别相加。 尺寸是(2,4,3)按 axis=1 相加后,得到的结果的尺寸是 (2,3)

关于Numpy中数组维度的理解

3 axis=2

依照上面的做法,axis=?就将中括号剥到第几层,然后对应位置上的元素相加。

过程: 数组是尺寸是(2,4,3),剥去最外层的中括号,是两个单位体(4,3)——最外层单位体。两个单位体再剥去一层中括号,得到4个(3,)的php数组——次外层单位体。4个单位体再剥去最外层的中括号,得到3个次次单位体——标量。

关于Numpy中数组维度的理解

axis = 2
print('*'*10,' axis = %a'%(axis),'*'*10)# 这种格式输出方式
print(arr.sum(axis=axis))

关于Numpy中数组维度的理解

到此这篇关于关于Numpy中数组维度的理解的文章就介绍到这了,更多相关Numpy中数组维度内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

精彩评论

暂无评论...
验证码 换一张
取 消