标签:表示 rand lse 数字 函数 nump min length 出现
给定一堆数字,需要统计这些数字中每个数字的个数。
如果这些数字是整数,那自然可以精确统计出来。
如果这些数字是浮点数,如果精确统计会发现几乎每个数字都只出现了一次。所以浮点数就要通过区间的方式进行统计。
from collections import Counter
import numpy as np
import pylab as plt
a = np.random.randint(0, 10, (100))
c = Counter(a)
x = c.keys()
y = c.values()
plt.plot(x, y, linewidth=5, label="counter")
cnt = np.bincount(a)
plt.plot(range(len(cnt)), cnt, label="numpy")
plt.legend()
plt.show()
函数原型:numpy.bincount(x, weights=None, minlength=0)
weights表示各个数字的权重,长度和x一致。
import numpy as np
a = np.array([1, 2, 5, 7, 2])
print(np.bincount(a)) #[0 1 2 0 0 1 0 1]
print(np.bincount(a, [0.1, 0.2, 0.5, 0.7, 0.2])) #[0. 0.1 0.4 0. 0. 0.5 0. 0.7]
numpy.histogram(a, bins=10, range=None, normed=False, weights=None, density=None)
numpy.interp(x, xp, fp, left=None, right=None, period=None)
使用此函数可以只绘制一部分坐标而不用全不绘制。matplotlib内部自动会调用插值函数合理绘制图像,无需手动通过numpy调用,但当向前端传递数据让js完成绘制时,就需要手动调用numpy来进行插值。
标签:表示 rand lse 数字 函数 nump min length 出现
原文地址:https://www.cnblogs.com/weiyinfu/p/10634046.html