numpy 矩阵 秩_Numpy小记——有关axis/axes的理解

本文介绍了Numpy中axis的概念及其在处理多维数组时的重要性。通过实例解析了axis如何影响数组操作,如求和、排序等,并强调了axis、dimensions和rank在Numpy中的联系。文章旨在帮助读者更好地理解和使用Numpy进行科学计算。
摘要由CSDN通过智能技术生成

【先声明:本文尽量用简单直观的方式解释说明,可能会有些许错误——欢迎指正交流】

  • NumPy‘s array type augments the Python language with an efficient data structure useful for numerical work, e.g., manipulating matrices. NumPy also provides basic numerical routines, such as tools for finding eigenvectors.

Numpy作为Python基础科学计算库,可以很方便地用来处理多维数组的numerical work。里面包含了强大的多维数组类型:array(homogeneous)、各种可直接用于矩阵计算的函数(比如求矩阵的秩、求特征值特征向量、SVD分解等等)、用于集成C/C++或Fortran代码的工具,以及用于生成计算随机数、傅里叶变换、线性代数等等数据处理的tools。

经常用Numpy的猿应该都了解axis/axes对于array的重要性,许多对于多维数组的操作函数都涉及到这个参数,axis取值不同往往会计算出不同的结果,但axis的存在也让array的计算更加方便灵活,所以这篇文章的主要内容就是把我对于axis/axes的理解写出来,帮助大家更好地grasp这个概念,迎娶白富美走上人生巅峰(雾

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

首先,在Numpy中,维数(dimensions)通过轴(axes)来扩展,轴的个数被称作rank。这里的rank不是线性代数中的rank(秩),它指代的依旧是维数(number of dimensions)

The number of axes (dimensions) of the array. In the Python world, the number of dimensions is referred to as rank.

在数学或者物理的概念中,dimensions被认为是在空间中表示一个点所需要的最少坐标个数,但是在Numpy中,dimensions指代的是axes。也就是说,axes、dimensions、rank这几个概念是相通的。

下面举例子,比如我们在3-D空间中定义三个点,用array的形式表达:

>>> import numpy as np
>>> a = np.array([[1,2,3],[2,3,4],[3,4,9]])
>>> a
array([[1, 2, 3],
       [2, 3, 4],
       [3, 4, 9]])

按照以往的理解,我们可能会认为这个array是三维的,但实际上在Numpy中,这个array的dimensions,也就是rank的值是等于2的:

>>> np.ndim(a)
2

因为它只有两个axis,只不过这两个axis的长度(length)均为3:

>>> np.shape(a)
(3, 3)

同时,这个矩阵在线性代数中的rank(秩)依旧是3(这里要加以区分):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值