1 算术平均值

数学运算

样本:[s1, s2, ..., sn]

算术平均值 = (s1 + s2 + ... + sn) / n

numpy函数

numpy.mean(样本) -> 算术平均值

2 加权平均值

数学运算

样本:[s1, s2, ..., sn]

权重:[w1, w2, ..., wn]

加权平均值=(s1w1 + s2w2 + ... + snwn) / (w1+w2+...+wn)

numpy函数

numpy.average(样本, weights=权重) -> 加权平均值

3 最大值和最小值

max() - 计算数组中元素的最大值

min() - 计算数组中元素的最小值

maximum() - 计算两个或多个数组对应元素的最大值并构成一个新的数组

minimum() - 计算两个或多个数组对应元素的最小值并构成一个新的数组

  1. import numpy as np
  2. a = np.array([[1,8],
  3. [3,9]])
  4. b = np.array([[5,7],
  5. [4,6]])
  6. print(np.maximum(a,b))
  7. # [[5 8]
  8. # [4 9]]
  9. print(np.minimum(a,b))
  10. # [[1 7]
  11. # [3 6]]

4 中位数

将多个样本按大小顺序排列,居于中间位置的元素即为中位数。

numpy.median(样本)->中位数

5 标准差

数学运算

样本:S = [s1, s2, ..., sn]

算术平均值:m = (s1+s2+...+sn)/n

离差:D = [s1-m, s2-m, ..., sn-m]

离差方:Q = [(s1-m)^2, (s2-m)^2, ..., (sn-m)^2]

方差:((s1-m)^2+(s2-m)^2+...+(sn-m)^2)/n

标准差:sqrt(((s1-m)^2+(s2-m)^2+...+(sn-m)^2)/n)

numpy函数

numpy.std(S, ddof=非自由样本数)

总体标准差:sqrt(.../n)

样本标准差:sqrt(.../(n-1))

6 元素选取

1) take + where + 掩码

2) [ ] + where+掩码

3) [ ] + 掩码

根据星期统计平均价格

  1. import datetime as dt
  2. import numpy as np
  3.  
  4. def dmy2wday(dmy):
  5. dmy = str(dmy, encoding='utf-8')
  6. date = dt.datetime.strptime(dmy, '%d-%m-%Y').date()
  7. wday = date.weekday() # 用0到4表示星期一到星期五
  8. return wday
  9.  
  10. wdays, closing_prices = np.loadtxt(
  11. './aapl.csv', delimiter=',',
  12. usecols=(1, 6), unpack=True, converters={1: dmy2wday})
  13. ave_closing_prices = np.zeros(5)
  14. # ave_closing_prices.size = 5
  15. for wday in range(ave_closing_prices.size):
  16. '''
  17. # 通过take函数从数组中提取与特定下标集合相对应的元素
  18. ave_closing_prices[wday] = np.take(closing_prices, np.where(wdays == wday)).mean()
  19. # 通过下标运算符根据特定下标集合选取相对应的元素
  20. ave_closing_prices[wday] = closing_prices[np.where(wdays == wday)].mean()
  21. '''
  22. # 通过下标运算符根据特定掩码数组选取与真值相对应的元素
  23. ave_closing_prices[wday] = closing_prices[ wdays == wday].mean()
  24. for wday, ave_closing_price in zip(
  25. ['MON', 'TUE', 'WED', 'THU', 'FRI'], ave_closing_prices):
  26. print(wday, np.round(ave_closing_price, 2))

运算

  1. MON 351.79
  2. TUE 350.64
  3. WED 352.14
  4. THU 350.9
  5. FRI 350.02

7 轴向扩展

apply_along_axis(函数, 轴向, 参数数组) -> 数组

沿着参数数组的指定轴向向给定函数传递参数,并将其所返回的数组同样沿着指定的轴向组合成一个数组返回。

  1. import numpy as np
  2.  
  3. def fun(a):
  4. return a ** 2
  5.  
  6. a = np.array([
  7. [1, 2, 3],
  8. [4, 5, 6],
  9. [7, 8, 9]])
  10. b = np.apply_along_axis(fun, 0, a)
  11. print(b)
  12. # [[ 1 4 9]
  13. # [16 25 36]
  14. # [49 64 81]]
  15. c = np.apply_along_axis(fun, 1, a)
  16. print(c)
  17. # [[ 1 4 9]
  18. # [16 25 36]
  19. # [49 64 81]]

numpy的常用函数的更多相关文章

  1. Python之Numpy库常用函数大全(含注释)

    前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...

  2. Python之Numpy库常用函数大全(含注释)(转)

    为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...

  3. numpy.random 常用函数详解之排列乱序篇(Permutations)

    1.numpy.random.shuffle(x) 参数:填入数组或列表. 返回值:无. 函数功能描述:对填入的数组或列表进行乱序处理,shape保持不变. 2.numpy.random.permut ...

  4. numpy.random 常用函数详解之简单随机数篇(Simple random data)

    1.numpy.random.rand(d0,d1,d2,...,dn) 参数:d0,d1,d2,...,dn 须是正整数,用来描述生成随机数组的维度.如(3,2)代表生成3行2列的随机数组. 返回值 ...

  5. numpy模块常用函数解析

    https://blog.csdn.net/lm_is_dc/article/details/81098805 numpy模块以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter note ...

  6. 关于NumPy的常用函数random.randint

    np.random.randint(low, high=None, size=None, dtype='l') 该函数作用:用于产生离散均匀分布的整数 low:生成元素的最小值 high:生成元素的值 ...

  7. Python数据分析--Numpy常用函数介绍(2)

    摘要:本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数. ...

  8. 操作 numpy 数组的常用函数

    操作 numpy 数组的常用函数 where 使用 where 函数能将索引掩码转换成索引位置: indices = where(mask) indices => (array([11, 12, ...

  9. numpy常用函数之randn

    numpy中有一些常用的用来产生随机数的函数,randn就是其中一个,randn函数位于numpy.random中,函数原型如下: numpy.random.randn(d0, d1, ..., dn ...

随机推荐

  1. Android Studio 上传aar(Library)到JCenter

    目的 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,发布自己的android library(也就是aar)到公共的jcenter仓库. 为什么选择JCenter,因为JCen ...

  2. Objective-C 简介

    很少有人会想到 Objective-C 历史悠久,并且它实际上影响了很多其他的编程技术.比如, Java 编程语言和 Objective-C 就有很多共同点.原因就是在 Objective-C 的早期 ...

  3. C#.NET常见问题(FAQ)-public private protectd internal有什么区别

    首先要区分public和private,这两个修饰符是最常用的.Public就是对外公开的,private就是对外不公开的(类内部可以使用),比如下面我定义一个类的实例,自动补全代码中只有public ...

  4. MVC 之 解决MVC中使用BundleConfig.RegisterBundles引用Css及js文件发布后的丢失

    在MVC3中我们这样引用资源文件: <link href="@Url.Content("~/Content/Site.css")" rel="s ...

  5. 数据库同步相关的SQL语句

    一.目标: 本文重点给大家介绍几款SQL用法,一般常用于数据库同步之类的. 二.例子: 1.找出A表中不存在于B表的记录. from B where A.[序号]=B.[序号]); 2.将A表中不存在 ...

  6. dir for RequestHandler and request

    两个对象的dir # RequestHandler ['GET', 'GETPOST', 'POST', 'SUPPORTED_METHODS', '_ARG_DEFAULT', '_INVALID_ ...

  7. POJ2429_GCD &amp; LCM Inverse【Miller Rabin素数測试】【Pollar Rho整数分解】

    GCD & LCM Inverse Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9756Accepted: 1819 ...

  8. 算法笔记_201:第三届蓝桥杯软件类决赛真题(Java本科)

    目录 1 数量周期 2 提取子串 3 源码变换 4 古代赌局 5 火柴游戏   前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 数量周期 [结果填空](满分9分) 复杂现象背后的推动力,可能是极其简 ...

  9. SpringBoot 分页处理

    开始主要是要使用已经设计好的数据库 -- ---------------------------------------------------- -- 用户 -- ----------------- ...

  10. 关于0xFFFFFFFF和alpha,温故而知新

    做图像处理都好多年了,今天随手做个小画板的时候,发现一个挺有趣的小坑.而其实这个小坑,以前也坑过自己,不过太久没处理了,又踩到坑里了. 先来看看:0xFFFFFFFF>>24 这个结果是什 ...