我是靠谱客的博主 直率冰淇淋,最近开发中收集的这篇文章主要介绍NumPy 统计函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


章节

  • Numpy 介绍
  • Numpy 安装
  • NumPy ndarray
  • NumPy 数据类型
  • NumPy 数组创建
  • NumPy 基于已有数据创建数组
  • NumPy 基于数值区间创建数组
  • NumPy 数组切片
  • NumPy 广播
  • NumPy 数组迭代
  • NumPy 位运算
  • NumPy 字符串函数
  • NumPy 数学函数
  • NumPy 统计函数
  • NumPy 排序、查找、计数
  • NumPy 副本和视图
  • NumPy 矩阵库函数
  • NumPy 线性代数

Numpy提供各种统计函数,用于数据统计分析。

从数组中找出最小和最大元素

函数numpy.amin()numpy.amax()分别用于查找指定轴上,数组元素的最小值和最大值。

示例

import numpy as np
a = np.array([[2,10,20],[80,43,31],[22,43,10]])
print("原始数组:n")
print(a)
print('n')
print("数组中最小元素:", np.amin(a))
print("数组中最大元素:", np.amax(a))
print('n')
print("数组列中最小元素:", np.amin(a,0))
print("数组列中最大元素:", np.amax(a,0))
print('n')
print("数组行中最小元素:", np.amin(a,1))
print("数组行中最大元素:", np.amax(a,1))

输出

原始数组:
[[ 2 10 20]
[80 43 31]
[22 43 10]]
数组中最小元素: 2
数组中最大元素: 80
数组列中最小元素: [ 2 10 10]
数组列中最大元素: [80 43 31]
数组行中最小元素: [ 2 31 10]
数组行中最大元素: [20 80 43]

numpy.ptp()

返回数组某个轴方向的峰间值,即最大值最小值之差。

示例

import numpy as np
a = np.array([[2,10,20],[80,43,31],[22,43,10]])
print("原始数组:n", a)
print('n')
print("轴1 峰间值:", np.ptp(a,1))
print("轴0 峰间值:", np.ptp(a,0))

输出

原始数组:
[[ 2 10 20]
[80 43 31]
[22 43 10]]
轴1 峰间值: [18 49 33]
轴0 峰间值: [78 33 21]

numpy.percentile()

百分位数是统计中使用的度量,表示小于这个值的观察值占总数的百分比。

例如,第80个百分位数是这样一个值,它使得至少有80%的数据项小于或等于这个值,且至少有(100-80)%的数据项大于或等于这个值。

函数语法:

numpy.percentile(input, q, axis)

参数:

  • input: 输入数组
  • q: 要计算的百分位数,在 0 ~ 100 之间
  • axis: 计算百分位数的轴方向,二维取值0,1

示例

import numpy as np
a = np.array([[2,10,20],[80,43,31],[22,43,10]])
print("原始数组:n", a)
print('n')
print("轴0 百分位数", np.percentile(a, 10,0))
print("轴1 百分位数", np.percentile(a, 10, 1))

输出

原始数组:
[[ 2 10 20]
[80 43 31]
[22 43 10]]
轴0 百分位数 [ 6.
16.6 12. ]
轴1 百分位数 [ 3.6 33.4 12.4]

计算数组项的中值、平均值、加权平均值

numpy.median()

中值是一组数值中,排在中间位置的值,可以指定轴方向。

numpy.mean()

计算数组的平均值,可以指定轴方向。

numpy.average()

计算数组的加权平均值,权重用另一个数组表示,并作为参数传入,可以指定轴方向。

考虑一个数组[1,2,3,4]和相应的权值[4,3,2,1],通过将对应元素的乘积相加,再除以权值的和来计算加权平均值。

加权平均值 = (14+23+32+41)/(4+3+2+1)

示例

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print("原始数组:n", a)
print('n')
print("轴0 中值:", np.median(a, 0))
print("轴0 平均值:", np.mean(a, 0))
wt = np.array([0, 0, 10])
print("轴1 加权平均值:", np.average(a, 1, weights = wt))

输出


原始数组:
[[1 2 3]
[4 5 6]
[7 8 9]]
轴0 中值: [4. 5. 6.]
轴0 平均值: [4. 5. 6.]
轴1 加权平均值: [3. 6. 9.]

标准差与方差

numpy.std()

要计算标准差,可以使用std()函数。

标准差的公式:

std = sqrt(mean(abs(x - x.mean())**2))

numpy.std()

要计算方差,可以使用var()函数。

方差公式

var = mean(abs(x - x.mean())**2)

示例

import numpy as np
print (np.std([1,2,3,4]))
print (np.var([1,2,3,4]))

输出

 1.118033988749895
1.25

最后

以上就是直率冰淇淋为你收集整理的NumPy 统计函数的全部内容,希望文章能够帮你解决NumPy 统计函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部