numpy的常用函数
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() - 计算两个或多个数组对应元素的最小值并构成一个新的数组
import numpy as np
a = np.array([[1,8],
[3,9]])
b = np.array([[5,7],
[4,6]])
print(np.maximum(a,b))
# [[5 8]
# [4 9]]
print(np.minimum(a,b))
# [[1 7]
# [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) [ ] + 掩码
根据星期统计平均价格
import datetime as dt
import numpy as np
def dmy2wday(dmy):
dmy = str(dmy, encoding='utf-8')
date = dt.datetime.strptime(dmy, '%d-%m-%Y').date()
wday = date.weekday() # 用0到4表示星期一到星期五
return wday
wdays, closing_prices = np.loadtxt(
'./aapl.csv', delimiter=',',
usecols=(1, 6), unpack=True, converters={1: dmy2wday})
ave_closing_prices = np.zeros(5)
# ave_closing_prices.size = 5
for wday in range(ave_closing_prices.size):
'''
# 通过take函数从数组中提取与特定下标集合相对应的元素
ave_closing_prices[wday] = np.take(closing_prices, np.where(wdays == wday)).mean()
# 通过下标运算符根据特定下标集合选取相对应的元素
ave_closing_prices[wday] = closing_prices[np.where(wdays == wday)].mean()
'''
# 通过下标运算符根据特定掩码数组选取与真值相对应的元素
ave_closing_prices[wday] = closing_prices[ wdays == wday].mean()
for wday, ave_closing_price in zip(
['MON', 'TUE', 'WED', 'THU', 'FRI'], ave_closing_prices):
print(wday, np.round(ave_closing_price, 2))
运算
MON 351.79 TUE 350.64 WED 352.14 THU 350.9 FRI 350.02
7 轴向扩展
apply_along_axis(函数, 轴向, 参数数组) -> 数组
沿着参数数组的指定轴向向给定函数传递参数,并将其所返回的数组同样沿着指定的轴向组合成一个数组返回。
import numpy as np
def fun(a):
return a ** 2
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
b = np.apply_along_axis(fun, 0, a)
print(b)
# [[ 1 4 9]
# [16 25 36]
# [49 64 81]]
c = np.apply_along_axis(fun, 1, a)
print(c)
# [[ 1 4 9]
# [16 25 36]
# [49 64 81]]
numpy的常用函数的更多相关文章
- Python之Numpy库常用函数大全(含注释)
前言:最近学习Python,才发现原来python里的各种库才是大头! 于是乎找了学习资料对Numpy库常用的函数进行总结,并带了注释.在这里分享给大家,对于库的学习,还是用到时候再查,没必要死记硬背 ...
- Python之Numpy库常用函数大全(含注释)(转)
为收藏学习,特转载:https://blog.csdn.net/u011995719/article/details/71080987 前言:最近学习Python,才发现原来python里的各种库才是 ...
- numpy.random 常用函数详解之排列乱序篇(Permutations)
1.numpy.random.shuffle(x) 参数:填入数组或列表. 返回值:无. 函数功能描述:对填入的数组或列表进行乱序处理,shape保持不变. 2.numpy.random.permut ...
- numpy.random 常用函数详解之简单随机数篇(Simple random data)
1.numpy.random.rand(d0,d1,d2,...,dn) 参数:d0,d1,d2,...,dn 须是正整数,用来描述生成随机数组的维度.如(3,2)代表生成3行2列的随机数组. 返回值 ...
- numpy模块常用函数解析
https://blog.csdn.net/lm_is_dc/article/details/81098805 numpy模块以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter note ...
- 关于NumPy的常用函数random.randint
np.random.randint(low, high=None, size=None, dtype='l') 该函数作用:用于产生离散均匀分布的整数 low:生成元素的最小值 high:生成元素的值 ...
- Python数据分析--Numpy常用函数介绍(2)
摘要:本篇我们将以分析历史股价为例,介绍怎样从文件中载入数据,以及怎样使用NumPy的基本数学和统计分析函数.学习读写文件的方法,并尝试函数式编程和NumPy线性代数运算,来学习NumPy的常用函数. ...
- 操作 numpy 数组的常用函数
操作 numpy 数组的常用函数 where 使用 where 函数能将索引掩码转换成索引位置: indices = where(mask) indices => (array([11, 12, ...
- numpy常用函数之randn
numpy中有一些常用的用来产生随机数的函数,randn就是其中一个,randn函数位于numpy.random中,函数原型如下: numpy.random.randn(d0, d1, ..., dn ...
随机推荐
- MODBUS协议整理——功能码简述
1.Modbus简介——来自维基百科 Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的.Modbus是工业领域通信协议的业界标准,并且现在是工业电 ...
- C#调用MySQL数据库(使用MySql.Data.dll连接)mysql-connector-net-6.10.4.msi
下载地址:http://dev.mysql.com/downloads/connector/net/ 安装指导 1.安装:mysql-connector-net-6.10.4.msi 其下载地址:ht ...
- C#.NET常见问题(FAQ)-如何把定义存放类实例的数组
数组存放的可以是普通的int,double,string类型,也可以是自定义的类的实例 如果数组长度未知,可以用list对象存放 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: h ...
- OSX下安装VMware虚拟机, 加载kali系统
准备 当前环境:OSX 10.11.6 , 准备VMware虚拟机软件和kali系统 为什么要安装kali系统 Kali Linux预装了许多渗透测试软件,包括nmap (端口扫描器).Wiresha ...
- JAVA设计模式——第 5 章 工厂方法模式【Factory Method Pattern】(转)
女娲补天的故事大家都听说过吧,今天不说这个,说女娲创造人的故事,可不是“造人”的工作,这个词被现代人滥用了.这个故事是说,女娲在补了天后,下到凡间一看,哇塞,风景太优美了,天空是湛蓝的,水是清澈的,空 ...
- SpringMVC的页面几种返回方式
package com.boventech.learning.controller; import java.util.HashMap; import java.util.Map; import or ...
- SQL Server临时表
[]SQL Server临时表]()https://docs.microsoft.com/zh-cn/sql/relational-databases/tables/temporal-tables)
- vim自动保存折叠
我经常使用的是手工折叠方式,就是 :set foldmethod=manual vim常用的折叠命令有: zf:折叠选定的行 zo:打开折叠 zR:打开所有折叠 zM:关闭所有折叠 zd:删除折叠 我 ...
- JS或AS中处理ARGB、RGBA颜色值时要小心
(0xffffffff)>>24; //-1 (0xffffffff / 2)>>23; argb颜色需要一个无符号整数uint才能存储,如果首位是F,那么第一个二进制位就是1 ...
- 〖Linux〗多个JDK版本之间快速切换
由于工作的需要,经常要切换JDK版本比如我HOME目录下有三个JDK版本: ~/apt/jdk1..0_34 # JDK6 ~/apt/jdk1..0_67 # JDK7 ~/apt/jdk1..0_ ...