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 np

arr = 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 np

arr = 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方法的话就是上一行值与本行值的积)。

python数学计算模块_Python-NumPy模块数学和统计方法(4)相关推荐

  1. python 数学计算库_Python标准库——数学运算

    SystemRandom 有些操作系统提供了一个随机数生成器,可以访问更多引入生成器的信息源.random通过Systemdom类提供了这个特性,该类与Random的API相同,不过使用os.uran ...

  2. Python实现计算圆周率π的值到任意位的方法示例

    Python实现计算圆周率π的值到任意位的方法示例 本文实例讲述了Python实现计算圆周率π的值到任意位的方法.分享给大家供大家参考,具体如下: 一.需求分析 输入想要计算到小数点后的位数,计算圆周 ...

  3. python复数计算符号_Python:基本运算、基本函数(包括复数)、Math模块、NumPy模块...

    基本运算 x**2 : x^2 若x是mat矩阵,那就表示x内每个元素求平方 inf:表示正无穷 逻辑运算符:and,or,not 基本函数 字典的get方法 a.get(k,d)11 get相当于一 ...

  4. python中math函数_Python math模块 数学函数教程

    在Python基础教程中,大家都已经了解了Python有很多运算符可以进行一些数学运算,但是要处理复杂的问题是不是所有代码都要自己一行一行的来编写呢? 玩蛇网提醒大家,这个时候,最先想到的就应该是py ...

  5. python计算平均数_Python标准库——数学运算

    平均值 statistics模块实现了很多常用的统计公式,允许使用Python的各种数值类型(int.float.Decimal和Fraction)来完成高效计算. 共支持3种形式的平均值:均值(me ...

  6. 学python对数学要求吗_python 学习和数学知识 - 文章分类 - 风中小郎君 - 博客园...

    文章分类 - python 学习和数学知识 http://www.cnblogs.com/vamei 摘要:它们的区别在于应用的对象不同.1.map()map() 是一个Series的函数,DataF ...

  7. python 多层包多模块_python Modules模块操作

    今天学习python的Modules模块操作,并记录学习过程欢迎大家一起交流分享. 首先新建一个python文件命名为my_module.py的自定义moudle文件,在这个文件中进行模块代码编写: ...

  8. python pp模块_python常用模块

    1.re模块 re模块用于对python的正则表达式的操作 1.1 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物 ...

  9. python counter模块_python collections模块 计数器(counter)

    一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 把我写入的元素出现的多少次都计算出来 import collectio ...

  10. python manager模块_Python 并发模块

    Python 并发模块 multiprocessing 介绍 multiprocessing 是一个用与 threading 模块相似API的支持产生进程的包. multiprocessing 包同时 ...

最新文章

  1. AABO:自适应最优化Anchor设置,性能榨取的最后一步 | ECCV 2020
  2. WWDC上这个神级功能,一言不合又要改变未来购物趋势
  3. Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”
  4. linux基础——linux进程间通信(IPC)机制总结
  5. c语言双循环计算n的阶乘,用C语言用循环实现N的阶乘
  6. Java增强枚举的用例
  7. 沙迦美国大学科研副校长赵伟:揭秘工业 4.0 核心技术 CPS 的前世今生 | 人物志...
  8. New Handler
  9. ansible安装与配置文件
  10. Xcode 快速开发 代码块
  11. ios手机Safari本地服务连不上
  12. 【HTTP】Fiddler(一) - Fiddler简介和使用
  13. Python pandas学习总结
  14. Windebug 专题
  15. RFC2544吞吐量测试详细步骤-MiniSMB-HurricaneII软件操作演示
  16. 经典语音降噪方法-谱减法
  17. 国外无限php空间,关于无限空间和美国PHP主机不限制流量存储的认知
  18. 自考英语二笔记 Unit1
  19. 如何制作一个简单的html网页
  20. go get 下载的包放在哪里呢?

热门文章

  1. Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you
  2. vueJs的简单入门以及基础语法
  3. python D28 粘包
  4. 如何通过VC的 CHttpFile 抓取网页内容
  5. (原创)浅谈BUG资产,用例资产的作用
  6. 快速入门虚拟机+linux安装(附带视频)
  7. FTP协议、电子邮件系统与Telnet远程控制
  8. 《动手学深度学习》 第二天 (自动求梯度)
  9. MFC关键技术-命令传递机制
  10. 【开源】iTest教学辅助系统源代码