宁波网站建设就找荣胜,做网站月薪10万,一起做网店官网下载,十大免费行情软件网站下载1.前言使用一组数学函数对numpy数组进行操作的时候#xff0c;有两种方式计算#xff1a;对整个数组进行计算#xff1b;对源数组的某个轴向的数据进行统计计算#xff1b;2.下面是基本的数组统计方法数组统计方法3.统计函数的分类下面的所有统计方法#xff0c;即可以当做…1.前言使用一组数学函数对numpy数组进行操作的时候有两种方式计算对整个数组进行计算对源数组的某个轴向的数据进行统计计算2.下面是基本的数组统计方法数组统计方法3.统计函数的分类下面的所有统计方法即可以当做数组的实例方法调用也可以当做顶级numpy函数使用。import numpy as nparr np.random.randn(5,4)print(np.xxx(arr))print(arr.xxx())聚合计算(aggregation,通常叫做约简(reduction))。而不聚合也就是方法调用返回的结果是一个由中间结果组成的数组。聚合计算的方法import numpy as nparr np.random.randn(5,4)#正太分布数据print(数组中元素求和,arr.sum())print(算术平均数,arr.mean())print(标准差和方差,arr.std(),arr.var())print(最大值和最小值,arr.max(),arr.min())数组中元素求和 -2.84952437344算术平均数 -0.142476218672标准差和方差 0.896244709803 0.803254579849最大值和最小值 1.95081773969 -1.87576739314而cumsum以及cumprod方法就是非聚合方法他返回的是由中间结果组成的一个数组这样说有点不好理解下面我使用例子来进行说明。当然还是先从最简单的二维数组为例说明import numpy as nparr np.arange(12).reshape(3,4)print(arr)print(-----axis 0-----)arr_axi0 np.cumsum(arr,axis 0)print(arr_axi0)print(-----axis 1-----)arr_axi1 np.cumsum(arr,axis 1)print(arr_axi1)[[ 0 1 2 3][ 4 5 6 7][ 8 9 10 11]]-----axis 0-----[[ 0 1 2 3][ 4 6 8 10][12 15 18 21]]-----axis 1-----[[ 0 1 3 6][ 4 9 15 22][ 8 17 27 38]]从我以前的numpy文章中可以知道对于二维数组他的axis的值与行和列之间的关系二维数组的axis由此我们也可以看出对于二维数组我们的参数axis的值只能是0和1那么如何去理解非聚合计算的结果由中间值组成的数组呢axis 0的时候知道他是从行的角度去考虑函数那如果是一般的聚合计算的函数如sum...他们返回的是一个向量。但是对于非聚合计算的函数他们返回的数组shape函数原来数组的shape他们每一行的值都是上一行值与本行值的和(当然如果使用cumprop方法的话就是上一行值与本行值的积)。axis 1的时候其实和axis 0的一样只不过是这里的方向是从列的方向去考虑也就是shape还和源数组的shape相同但是其中每一列的值就是本列与上一列的值组成的新列(当然如果使用cumprop方法的话就是上一行值与本行值的积)。