numpy.percentile()百分位数是统计中使用的度量,表示小于这个值的观察值的百分比。 函数numpy.percentile()接受以下参数。

numpy.percentile(a, q, axis)

• a: 输入数组

• q: 要计算的百分位数,在 0 ~ 100 之间

• axis: 沿着它计算百分位数的轴

import numpy as np
a = np.array([[10, 7, 4], [3, 2, 1]])
print('我们的数组是:')
print(a)

print('调用percentile()函数:')
print(np.percentile(a, 50))

print('axis为0,在纵列上求:')
print(np.percentile(a, 50, axis=0))

print('axis为1,在横列上求: ')
print(np.percentile(a, 50, axis=1))

我们的数组是:
[[10  7  4]
 [ 3  2  1]]
调用percentile()函数:
3.5
axis为0,在纵列上求:
[6.5 4.5 2.5]
axis为1,在横列上求: 
[7. 2.]

numpy.median() 函数用于计算数组 a 中元素的中位数(中值)

import numpy as np
a = np.array([[30,65,70],[80,95,10],[50,90,60]])
print(a)

print(np.median(a))

print(np.median(a, axis=0))

print(np.median(a, axis=1))

#
65.0
[50. 90. 60.]
[65. 80. 60.]

numpy.mean() 函数返回数组中元素的算术平均值。 如果提供了轴,则沿其计算。

算术平均值是沿轴的元素的总和除以元素的数量。

import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print(a)

print(np.mean(a))

print(np.mean(a, axis=1))

print(np.mean(a, axis=0))

[[1 2 3]
 [3 4 5]
 [4 5 6]]
3.6666666666666665
[2. 4. 5.]
[2.66666667 3.66666667 4.66666667]

numpy.average() 函数根据在另一个数组中给出的各自的权重计算数组中元素的加权平均值。

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

加权平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1)

import numpy as np
a = np.array([1,2,3,4])
print(a)
print(np.average(a)) #不指定权重相当于mean函数
wts = np.array([4, 3, 2, 1])
print(np.average(a, weights=wts))
print(np.average(a, weights=wts, returned=True)) #returned返回权重的和

import numpy as np
a = np.array([1,2,3,4])
print(a)
print(np.average(a)) #不指定权重相当于mean函数
wts = np.array([4, 3, 2, 1])
print(np.average(a, weights=wts))
print(np.average(a, weights=wts, returned=True))

标准差是方差的算术平方根。

std = sqrt(mean((x – x.mean())**2))


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

1.118033988749895

统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,即 mean((x – x.mean())** 2)。

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

1.25

numpy.sort() 函数返回输入数组的排序副本。函数格式如下:

numpy.sort(a, axis, kind, order)

a: 要排序的数组

• axis: 沿着它排序数组的轴,如果没有数组会被展开,沿着最后的轴排序, axis=0 按列排序,axis=1 按行排序

• kind: 默认为’quicksort’(快速排序)

• order: 如果数组包含字段,则是要排序的字段

import numpy as np
a = np.array([[3, 7], [9, 1]])
print("数组是:")
print(a)
print('调用sort()函数:')
print(np.sort(a))
print('按列排序:')
print(np.sort(a, axis=0))
dt = np.dtype([('name', 'S10'), ('age', int)])
b = np.array([('raju', 21), ('anil', 25), ('ravi', 17), ('amar', 27)], dtype=dt)
print('数组是:')
print(b)
print('按name排序:')
print(np.sort(b, order='name'))

数组是:
[[3 7]
 [9 1]]
调用sort()函数:
[[3 7]
 [1 9]]
按列排序:
[[3 1]
 [9 7]]
数组是:
[(b'raju', 21) (b'anil', 25) (b'ravi', 17) (b'amar', 27)]
按name排序:
[(b'amar', 27) (b'anil', 25) (b'raju', 21) (b'ravi', 17)]
Categories: python

0 Comments

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注