排序大小函数
import numpy as np
size = 100
a = np.random.randint(0, 1000, size=size)
print(a)
# 排序之后的前k个元素
# 返回的值不一定是按照顺序排好的
# [ 5 0 15 22 32]
# [ 0 5 15 22 32]
print(np.partition(a, 3)[:5])
print(np.sort(a)[:5])
# 百分位数
a = np.abs(np.random.randn(100000))
# 计算正态分布百分位数,约等于1,2,3倍标准差
print(
# [0.99693541 1.99555444 2.99341279]
np.percentile(a, [68.3, 95.4, 99.7])
)
统计函数
unique去重,可获得去重后排序的数组和原始下标
import numpy as np
a = np.random.randint(0, 10, 10)
print(a)
print(np.unique(a))
x, index = np.unique(a, return_index=True)
print(x)
print(index)
# [0 4 8 6 2 1 4 5 6 6]
# [0 1 2 4 5 6 8]
# [0 1 2 4 5 6 8]
# [0 5 4 1 7 3 2]
直方图函数
第一个数组表示每个区间的统计结果
第二个数组是区间
import numpy as np
a = np.random.rand(10000)
print(
# (array([2037, 2013, 2009, 2009, 1932], dtype=int64), array([0. , 0.2, 0.4, 0.6, 0.8, 1. ]))
# 每个区间的数目相近
np.histogram(a, bins=5, range=(0, 1))
)
print(
# (array([2037, 4022, 3941], dtype=int64), array([0. , 0.2, 0.6, 1. ]))
# 指定区间累计,符合分布特征
np.histogram(a, bins=[0, .2, .6, 1.])
)
转载至链接:https://my.oschina.net/ahaoboy/blog/1932835