如同MATLAB,numpy中提供了很多用于数学计算与统计方法的函数。如果能够合理利用,可以比自己编写相应的功能简单许多。接下来在shell交互模式下通过简单的命令或者程序语句进行一下演练。

1,创建一个随机数数组arr_demo

In [13]: arr_demo

Out[13]:

array([[1.21620369, -0.97947606, -1.66260524, 0.14750175,  0.61275732],

       [-1.05975008,  0.42425992, -1.0354631 , -0.23810607,  1.08724589],

       [-0.11256591, -0.02697348,  0.39677566, -0.55130505, -0.45595382],

       [-1.26234739,  0.03167078, 0.35816044,  0.9080088 ,  0.35941596],

       [ 0.22818352,  2.20537346, -1.89346651, -0.10286299,  1.19424666],

       [ 0.21552557, -0.42393997,  0.35526739, -0.083025  , -2.16638392]])

2,计算矩阵元素的均值:

方法1:

In [14]:arr_demo.mean()

Out[14]: -0.077120925606820614

方法2:

In [15]:np.mean(arr_demo)

Out[15]:-0.077120925606820614

       从上面的结果中可以看出,两种实现方式的结果一致。

3,计算数组元素的总和:

       计算数组元素总和的方法也有两种:

方法1:

In [16]:arr_demo.sum()

Out[16]:-2.3136277682046185

方法2:

In [17]: np.sum

Out[17]:<function numpy.core.fromnumeric.sum>


In [18]:np.sum(arr_demo)

Out[18]:-2.3136277682046185

4,指定坐标轴的计算

In [19]:arr_demo.mean(axis = 0)

Out[19]:array([-0.1291251 ,  0.20515244,-0.58022189,  0.01336857,  0.10522135])


In [20]:arr_demo.mean(axis = 1)

Out[20]:

array([-0.13312371,-0.16436269, -0.15000452, 0.07898172,  0.32629483,

       -0.42051119])


In [21]: arr_demo[0].mean()

Out[21]:-0.13312370695281237


In [22]:arr_demo[0]

Out[22]: array([1.21620369, -0.97947606, -1.66260524, 0.14750175,  0.61275732])

       从上面的结果可以看出,当坐标轴参数为0的时候,计算每个子行向量坐标点的均值,而当坐标轴的参数为1的时候,计算的是每个子列向量的坐标点均值。求和计算也有相应的规律:

In [23]:arr_demo[0].sum()

Out[23]:-0.66561853476406185


In [24]:arr_demo.sum(0)

Out[24]:array([-0.77475061,  1.23091465,-3.48133135,  0.08021144,  0.6313281 ])


In [25]:arr_demo.sum(1)

Out[25]:

array([-0.66561853,-0.82181345, -0.7500226 , 0.39490859,  1.63147415,

       -2.10255593])

5,元素的最大值、最小值求解

In [26]:arr_demo.max()

Out[26]:2.2053734601105446


In [27]:arr_demo.min()

Out[27]:-2.1663839179810891


In [28]:np.max(arr_demo)

Out[28]:2.2053734601105446


In [29]:np.min(arr_demo)

Out[29]:-2.1663839179810891

       此外,还有求标准差、方差、所有元素的累计和、所有元素的累计积等方法,不过,这些功能的数学理论不是很熟悉,暂且不做这方面的小结。