NumPy 基本操作(数组的转置和换轴)

                                              数组的转置和换轴

 

一、转置

    转置是一种特殊的数据重组形式,可以返回底层数据的视图而不需要复制任何内容。数组拥有 transpose 方法,也有特殊的 T 属性:

        NumPy 基本操作(数组的转置和换轴)_第1张图片

    当进行矩阵计算时,我们可能会经常进行一些操作,比如:计算矩阵内积使用 np.dot:

        NumPy 基本操作(数组的转置和换轴)_第2张图片

    数学计算过程为:

        \begin{bmatrix} 4&3 \\ 5&7 \\ 9&9 \end{bmatrix} *\begin{bmatrix} 4 & 5 & 9\\ 3 & 7 & 9 \end{bmatrix} = \begin{bmatrix} 4*4+3*3 & 4*5+3*7 &4*9+3*9 \\ 5*4+7*3 & 5*5+7*7 &5*9+7*9 \\ 9*4+9*3 & 9*5+9*7 & 9*9+9*9 \end{bmatrix} = \begin{bmatrix} 25 & 41 & 63\\ 41 & 74 & 108\\ 63 & 108& 162 \end{bmatrix}

 

二、换轴

    对于更高维度的数组,transpose 方法可以接收包含轴编号的元组,用于置换轴(拓展思维如下):

        1、二维数组

            (1) 不指定参数,默认为矩阵转置操作。

                NumPy 基本操作(数组的转置和换轴)_第3张图片

            (2) 指定参数

                NumPy 基本操作(数组的转置和换轴)_第4张图片

                当传参为 (0, 1) 时,表示按照原坐标轴改变序列,也就是保持不变:

                    

                    NumPy 基本操作(数组的转置和换轴)_第5张图片

                当传参为 (1, 0) 时,表示交换 "0轴" 和 "1轴":

                    

                    NumPy 基本操作(数组的转置和换轴)_第6张图片

        2、三维数组

            (1) numpy.transpose(a, axes=None)

                a: array_like

                    input array.

                    输入数组。

                axes: list of ints, optional

                    By default, reverse the dimensions, otherwise permute the axes according to the values given.

                    默认情况下,颠倒维度,否则根据给定的值排列坐标轴。

                NumPy 基本操作(数组的转置和换轴)_第7张图片

                当传参数为 (0, 1, 2) 时,表示按照原坐标轴改变序列,也就是保持不变:

                    

                    NumPy 基本操作(数组的转置和换轴)_第8张图片

                当传参数为 (1, 0, 2) 时,表示将 0 轴 和 1 轴 进行轴置换:

                    

                    NumPy 基本操作(数组的转置和换轴)_第9张图片

                    在这里,轴已经被重新排序,使得原先的第二个轴变成了第一个,原先的第一个轴变成了第二个,最后一个轴并没有发生变化。

            (2) numpy.swapaxes(arr, axis1, axis2) 方法接收一对轴编号作为参数,并对轴进行调整用于重组数据。返回的是数据的视图,而没有对数据进行复制。

                arr 要交换轴的输入数组

                axis1 对应于第一轴的 int

                axis2 对应于第二轴的 int

                NumPy 基本操作(数组的转置和换轴)_第10张图片

                NumPy 基本操作(数组的转置和换轴)_第11张图片

                NumPy 基本操作(数组的转置和换轴)_第12张图片

你可能感兴趣的:(python,数据分析(numpy))