手机 网站 开发,网站负责人核验照,苏州新区做网站公司,国内网站设计公司1 NumPy 统计函数 NumPy 提供了很多统计函数#xff0c;用于从数组中查找最小元素#xff0c;最大元素#xff0c;百分位标准差和方差等。
1.1 numpy.amin() 和 numpy.amax() numpy.amin() 用于计算数组中的元素沿指定轴的最小值。
numpy.amin(a, axisNone, outNone, keep…1 NumPy 统计函数 NumPy 提供了很多统计函数用于从数组中查找最小元素最大元素百分位标准差和方差等。
1.1 numpy.amin() 和 numpy.amax() numpy.amin() 用于计算数组中的元素沿指定轴的最小值。
numpy.amin(a, axisNone, outNone, keepdimsno value, initialno value, whereno value)
a: 输入的数组可以是一个NumPy数组或类似数组的对象。axis: 可选参数用于指定在哪个轴上计算最小值。如果不提供此参数则返回整个数组的最小值。可以是一个整数表示轴的索引也可以是一个元组表示多个轴。out: 可选参数用于指定结果的存储位置。keepdims: 可选参数如果为True将保持结果数组的维度数目与输入数组相同。如果为False默认值则会去除计算后维度为1的轴。initial: 可选参数用于指定一个初始值然后在数组的元素上计算最小值。where: 可选参数一个布尔数组用于指定仅考虑满足条件的元素。 numpy.amax() 用于计算数组中的元素沿指定轴的最大值。
numpy.amax(a, axisNone, outNone, keepdimsno value, initialno value, whereno value)
a: 输入的数组可以是一个NumPy数组或类似数组的对象。axis: 可选参数用于指定在哪个轴上计算最大值。如果不提供此参数则返回整个数组的最大值。可以是一个整数表示轴的索引也可以是一个元组表示多个轴。out: 可选参数用于指定结果的存储位置。keepdims: 可选参数如果为True将保持结果数组的维度数目与输入数组相同。如果为False默认值则会去除计算后维度为1的轴。initial: 可选参数用于指定一个初始值然后在数组的元素上计算最大值。where: 可选参数一个布尔数组用于指定仅考虑满足条件的元素。
import numpy as npa np.array([[3, 7, 5], [8, 4, 3], [2, 4, 9]])
print(我们的数组是)
print(a)
print(\n)
print(调用 amin() 函数)
print(np.amin(a, 1))
print(\n)
print(再次调用 amin() 函数)
print(np.amin(a, 0))
print(\n)
print(调用 amax() 函数)
print(np.amax(a))
print(\n)
print(再次调用 amax() 函数)
print(np.amax(a, axis0))1.2 numpy.ptp() numpy.ptp() 函数计算数组中元素最大值与最小值的差最大值 - 最小值。
numpy.ptp(a, axisNone, outNone, keepdimsno value, initialno value, whereno value)
a: 输入的数组可以是一个 NumPy 数组或类似数组的对象。axis: 可选参数用于指定在哪个轴上计算峰-峰值。如果不提供此参数则返回整个数组的峰-峰值。可以是一个整数表示轴的索引也可以是一个元组表示多个轴。out: 可选参数用于指定结果的存储位置。keepdims: 可选参数如果为 True将保持结果数组的维度数目与输入数组相同。如果为 False默认值则会去除计算后维度为1的轴。initial: 可选参数用于指定一个初始值然后在数组的元素上计算峰-峰值。where: 可选参数一个布尔数组用于指定仅考虑满足条件的元素。
import numpy as npa np.array([[3, 7, 5], [8, 4, 3], [2, 4, 9]])
print(我们的数组是)
print(a)
print(\n)
print(调用 ptp() 函数)
print(np.ptp(a))
print(\n)
print(沿轴 1 调用 ptp() 函数)
print(np.ptp(a, axis1))
print(\n)
print(沿轴 0 调用 ptp() 函数)
print(np.ptp(a, axis0))1.3 numpy.percentile() 百分位数是统计中使用的度量表示小于这个值的观察值的百分比。 函数numpy.percentile()接受以下参数。
numpy.percentile(a, q, axis)
a: 输入数组q: 要计算的百分位数在 0 ~ 100 之间axis: 沿着它计算百分位数的轴 第 p 个百分位数是这样一个值它使得至少有 p% 的数据项小于或等于这个值且至少有 (100-p)% 的数据项大于或等于这个值。举个例子高等院校的入学考试成绩经常以百分位数的形式报告。比如假设某个考生在入学考试中的语文部分的原始分数为 54 分。相对于参加同一考试的其他学生来说他的成绩如何并不容易知道。但是如果原始分数54分恰好对应的是第70百分位数我们就能知道大约70%的学生的考分比他低而约30%的学生考分比他高。这里的 p 70。
import numpy as npa np.array([[10, 7, 4], [3, 2, 1]])
print(我们的数组是)
print(a)print(调用 percentile() 函数)
# 50% 的分位数就是 a 里排序之后的中位数
print(np.percentile(a, 50))# axis 为 0在纵列上求
print(np.percentile(a, 50, axis0))# axis 为 1在横行上求
print(np.percentile(a, 50, axis1))# 保持维度不变
print(np.percentile(a, 50, axis1, keepdimsTrue))1.4 numpy.median() numpy.median() 函数用于计算数组 a 中元素的中位数中值
numpy.median(a, axisNone, outNone, overwrite_inputFalse, keepdimsno value)
a: 输入的数组可以是一个 NumPy 数组或类似数组的对象。axis: 可选参数用于指定在哪个轴上计算中位数。如果不提供此参数则计算整个数组的中位数。可以是一个整数表示轴的索引也可以是一个元组表示多个轴。out: 可选参数用于指定结果的存储位置。overwrite_input: 可选参数如果为True则允许在计算中使用输入数组的内存。这可能会在某些情况下提高性能但可能会修改输入数组的内容。keepdims: 可选参数如果为True将保持结果数组的维度数目与输入数组相同。如果为False默认值则会去除计算后维度为1的轴。
import numpy as npa np.array([[30, 65, 70], [80, 95, 10], [50, 90, 60]])
print(我们的数组是)
print(a)
print(\n)
print(调用 median() 函数)
print(np.median(a))
print(\n)
print(沿轴 0 调用 median() 函数)
print(np.median(a, axis0))
print(\n)
print(沿轴 1 调用 median() 函数)
print(np.median(a, axis1))1.5 numpy.mean() numpy.mean() 函数返回数组中元素的算术平均值如果提供了轴则沿其计算。算术平均值是沿轴的元素的总和除以元素的数量。
numpy.mean(a, axisNone, dtypeNone, outNone, keepdimsno value)
a: 输入的数组可以是一个 NumPy 数组或类似数组的对象。axis: 可选参数用于指定在哪个轴上计算平均值。如果不提供此参数则计算整个数组的平均值。可以是一个整数表示轴的索引也可以是一个元组表示多个轴。dtype: 可选参数用于指定输出的数据类型。如果不提供则根据输入数据的类型选择合适的数据类型。out: 可选参数用于指定结果的存储位置。keepdims: 可选参数如果为True将保持结果数组的维度数目与输入数组相同。如果为False默认值则会去除计算后维度为1的轴。
import numpy as npa np.array([[1, 2, 3], [3, 4, 5], [4, 5, 6]])
print(我们的数组是)
print(a)
print(\n)
print(调用 mean() 函数)
print(np.mean(a))
print(\n)
print(沿轴 0 调用 mean() 函数)
print(np.mean(a, axis0))
print(\n)
print(沿轴 1 调用 mean() 函数)
print(np.mean(a, axis1)) 1.6 numpy.average() numpy.average() 函数根据在另一个数组中给出的各自的权重计算数组中元素的加权平均值。该函数可以接受一个轴参数。 如果没有指定轴则数组会被展开。加权平均值即将各数值乘以相应的权数然后加总求和得到总体值再除以总的单位数。考虑数组[1,2,3,4]和相应的权重[4,3,2,1]通过将相应元素的乘积相加并将和除以权重的和来计算加权平均值。
加权平均值 (1*42*33*24*1)/(4321)
numpy.average(a, axisNone, weightsNone, returnedFalse)
a: 输入的数组可以是一个 NumPy 数组或类似数组的对象。axis: 可选参数用于指定在哪个轴上计算加权平均值。如果不提供此参数则计算整个数组的加权平均值。可以是一个整数表示轴的索引也可以是一个元组表示多个轴。weights: 可选参数用于指定对应数据点的权重。如果不提供权重数组则默认为等权重。returned: 可选参数如果为True将同时返回加权平均值和权重总和。
import numpy as npa np.array([1, 2, 3, 4])
print(我们的数组是)
print(a)
print(\n)
print(调用 average() 函数)
print(np.average(a))
print(\n)
# 不指定权重时相当于 mean 函数
wts np.array([4, 3, 2, 1])
print(再次调用 average() 函数)
print(np.average(a, weightswts))
print(\n)
# 如果 returned 参数设为 true则返回权重的和
print(权重的和)
print(np.average([1, 2, 3, 4], weights[4, 3, 2, 1], returnedTrue))在多维数组中可以指定用于计算的轴。
import numpy as npa np.arange(6).reshape(3, 2)
print(我们的数组是)
print(a)
print(\n)
print(修改后的数组)
wt np.array([3, 5])
print(np.average(a, axis1, weightswt))
print(\n)
print(修改后的数组)
print(np.average(a, axis1, weightswt, returnedTrue))1.7 标准差 标准差是一组数据平均值分散程度的一种度量标准差是方差的算术平方根。公式如下
std sqrt(mean((x - x.mean())**2)) 如果数组是 [1234]则其平均值为 2.5。 因此差的平方是 [2.25,0.25,0.25,2.25]并且再求其平均值的平方根除以 4即 sqrt(5/4) 结果为 1.1180339887498949。
import numpy as npprint(np.std([1, 2, 3, 4]))1.8 方差 统计中的方差样本方差是每个样本值与全体样本值的平均数之差的平方值的平均数即 mean((x - x.mean())** 2)。换句话说标准差是方差的平方根。
import numpy as npprint(np.var([1, 2, 3, 4]))