numpy 统计函数与随机数

一、统计函数

可以通过以下的基本统计方法对整个数组或者数组的某个轴的数据进行统计:

方法 说明
sum 求和
mean 算术平均数
std 标准差
var 方差
min 最小值
max 最大值
argmax 最大元素在指定轴上的索引
argmin 最小元素在指定轴上的索引
cumsum 累积的和
cumprod 累积的乘积

示例:

>>> a = np.arange(12).reshape(3,4)
>>> a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> a.sum()
66
>>> a.sum(axis=1)
array([ 6, 22, 38])
>>> a.mean()
5.5
>>> a.mean(axis=1)
array([1.5, 5.5, 9.5])
>>> a.std()
3.452052529534663
>>> a.var()
11.916666666666666
>>> a.max()
11
>>> a.cumsum()
array([ 0,  1,  3,  6, 10, 15, 21, 28, 36, 45, 55, 66], dtype=int32)
>>> a.cumsum(axis=1)
array([[ 0,  1,  3,  6],
       [ 4,  9, 15, 22],
       [ 8, 17, 27, 38]], dtype=int32)
>>> a.cumprod()
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
>>> a.cumprod(axis=1)
array([[   0,    0,    0,    0],
       [   4,   20,  120,  840],
       [   8,   72,  720, 7920]], dtype=int32)
>>> a.argmin()
0
>>> a.argmax()
11

除了以上的统计方法,还有针对布尔数组的三个重要方法:sum、any和all:

  • sum : 统计数组或数组某一维度中的True的个数
  • any: 统计数组或数组某一维度中是否存在一个/多个True,只要有则返回True,否则返回False
  • all:统计数组或数组某一维度中是否都是True,都是则返回True,否则返回False

实际上,对于普通的数组,以上三个操作也是可以的。对于any和all函数,将非0的数字都看作True,0看作False。

>>> a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> a.any()
True
>>> a.all()
False
>>> b = np.arange(1,3)
>>> b
array([1, 2])
>>> b.all()
True
>>> b.any()
True
>>> x = np.array([[True,False],[True,False]])
>>> x.sum()
2
>>> x.any()
True
>>> x.all()
False
>>> c = np.array([-1,2,3+1j])
>>> c.any()
True
>>> c.all()
True

二、随机数

numpy带有一个random模块,它弥补了Python标准自建random模块的一些不足,效率更高、速度更快、功能更强大。当然这些数都是伪随机数,可以通过seed种子来初始化。下表是numpy.random中的部分函数:

函数 功能
random 返回一个区间[0.0, 1.0)中的随机浮点数
seed 向随机数生成器传递随机状态种子
permutation 返回一个序列的随机排列,或者返回一个乱序的整数范围序列
shuffle 随机排列一个序列
rand 从均匀分布中抽取样本
randint 根据给定的由低到高的范围抽取随机整数
randn 从均值0,方差1的正态分布中抽取样本
binomial 从二项式分布中抽取样本
normal 从正态分布中抽取样本
beta 从beta分布中抽取样本
chisquare 从卡方分布中抽取样本
gamma 从伽马分布中抽取样本
uniform 从均匀[0,1)中抽取样本
>>> import numpy.random as np   # 常用导入方法
>>> np.random()  # 生成1个
0.8898080952787953
>>> np.random(5)   # 生成5个
array([0.32815036, 0.47386   , 0.06808472, 0.3827107 , 0.11855414])
>>> np.random((2,3))   # 生成2行3列
array([[0.89632852, 0.76430853, 0.37540494],
       [0.02581418, 0.90653093, 0.78641778]])
>>> np.seed(1234)  # 设置种子
>>> np.randn()     # 生成1个
-0.008678581361935722
>>> np.randn(3)    # 生成3个
array([-1.60921761, -1.26864685,  0.52483734])
>>> np.randn(2,3)      # 生成2行3列
array([[-0.32106129,  1.05697037, -0.59017955],
       [-0.38786434, -0.04653935, -0.99871643]])
>>> np.randint(4)      # 生成不大于4的整数
2
>>> np.randint(1,10)  # 生成一个1到10之间的整数
1
>>> np.randint(1,10,5) # 生成5个1到10之间的整数
array([1, 4, 3, 4, 2])
>>> np.randint(1,10,(2,3)) # 生成2行3列1到10之间的整数,或者用size参数
array([[2, 6, 8],
       [5, 8, 8]])
>>> np.rand()
0.4527298092633677
>>> np.rand(3)
array([0.53814784, 0.7906221 , 0.46583634])
>>> np.rand(2,3)
array([[0.76453077, 0.59973081, 0.08094696],
       [0.70454447, 0.16401332, 0.03234935]])
>>> np.normal()
-0.8241256032186633
>>> np.normal(3,4) # 指定正态分布的两个重要参数
7.059397334847745
>>> np.normal(3,4,(2,3)) # 生成2行3列
array([[0.77190185, 1.30157588, 3.54998357],
       [2.71794779, 4.30157729, 1.1059138 ]])

原文地址:https://www.cnblogs.com/lavender1221/p/12657826.html

时间: 2024-08-10 12:05:41

numpy 统计函数与随机数的相关文章

14、numpy——统计函数

NumPy 统计函数 NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等. 函数说明如下:(沿哪条轴执行,就是是最后结果的形式) 1.numpy.amin() 和 numpy.amax() numpy.amin() 用于计算数组中的元素沿指定轴的最小值. numpy.amax() 用于计算数组中的元素沿指定轴的最大值. 1 import numpy as np 2 a = np.array([[3, 7, 5], [8, 4, 3], [2, 4, 9]])

利用Python进行数据分析:【NumPy】

一.NumPy:数组计算1.NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础.2.NumPy的主要功能: # ndarray,一个多维数组结构,高效且节省空间 # 无需循环对整组数据进行快速运算的数学函数 # *读写磁盘数据的工具以及用于操作内存映射文件的工具 # *线性代数.随机数生成和傅里叶变换功能 # *用于集成C.C++等代码的工具 3.安装方法:pip install numpy 二.NumPy:ndarray-多维数组对象1.创建ndarray:np

Python之Numpy详细教程

NumPy - 简介 NumPy 是一个 Python 包. 它代表 “Numeric Python”. 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的. 也开发了另一个包 Numarray ,它拥有一些额外的功能. 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包. 这个开源项目有很多贡献者. NumPy 操作 使用NumPy,开

Numpy库使用

一.NumPy:数组计算 1.NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. 2.NumPy的主要功能: ndarray,一个多维数组结构,高效且节省空间 无需循环对整组数据进行快速运算的数学函数 *读写磁盘数据的工具以及用于操作内存映射文件的工具 *线性代数.随机数生成和傅里叶变换功能 *用于集成C.C++等代码的工具 3.安装方法:pip install numpy4.引用方式:import numpy as np 二.NumPy:ndarray-多维数

数据分析 大数据之路 三 numpy 2

NumPy 数学函数 NumPy 提供了标准的三角函数:sin().cos().tan() numpy.around() 函数返回指定数字的四舍五入值 numpy.floor() 返回数字的下舍整数 numpy.ceil() 返回数字的上入整数 NumPy 算术函数 NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide() numpy.reciprocal() 函数返回参数逐元素的倒数.如 1/4 倒数为 4/1. numpy.pow

Numpy函数(20190806)

申明:博客纯属个人学习记录,不做任何其他用途,学习内容来源于:https://www.runoob.com/?s=numpy. 本节内容: numpy 数学函数 numpy算数函数 numpy统计函数 numpy排序.条件筛选函数 1.Numpy数学函数 三角函数 舍入函数 1.1 三角函数.反三角函数.角度化弧度.弧度化角度 import numpy as np a = np.array([0,30,45,60,90]) #角度转化为弧度再计算正弦值 b = np.sin(a*np.pi/18

numpy库使用总结

numpy study 0x01:n维数组对象ndaarray 存放同类型元素的多维数组 0x02:numpy数据类型 numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 np.bool_,np.int32,np.float32,等等. 字定义结构化数据类型: import numpy as np student = np.dtype([('name','S20'), ('age', 'i1'), ('marks', 'f4')]) a = np.array([('a

numpy学习总结

numpy用法 导入:import numpy as np 生成矩阵:array = np.array([[1,2,3],[4,5,6]]) 矩阵维度:array.ndim 矩阵形状:array.shape 矩阵大小:array.size 矩阵元素类型:array.dtype 创建array a = np.array([1,2,3], dtype=np.int32) dtype:指定数据类型 矩阵维度:创建时方括号的层数代表矩阵的维度 常用用法 zero = np.zeros((2, 3)) 生

python常用模块(一)

目录 time模块 时间戳 格式化时间 结构化时间 不同格式时间的转换 其他用法 datetime模块 random模块 os模块 sys模块 json模块 pickle模块 hashlib模块 logging模块 numpy模块 创建矩阵 获取矩阵的行列数 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 arange linspace/logspace zeros/ones/eye/empty fromstring/fromfunction 矩阵的运算 普通矩阵运算 常用矩阵运算函数 矩