用NumPy 模块对bin进行nums计算的直方图
在这篇文章中,我们将讨论如何使用NumPy 模块对bin进行nums计算。直方图是可视化数据集频率分布的最佳方式,它将数据集分割成大小相等的小区间,称为bin。Numpy直方图函数类似于_matplotlib库的hist()函数,唯一的区别是NumPy直方图给出数据集的数字表示,而hist()给出数据集的图形表示。
在创建直方图的时候,最好不要用分仓的方式来考虑,而是要找到每个值出现的次数,即频率表。为此目的,Python字典是非常合适的。下面是纯Python中直方图的简单实现。
输出:
Numpy有一个内置的numpy.histogram()函数,以图形的形式表示数据分布的频率。具有相同水平尺寸的矩形对应于称为bin的类区间,可变高度对应于频率。
语法: numpy.histogram(data, bins=10, range=None, normed=None, weights=None, density=None)
参数:
- data: 要绘制的数组或数组的序列。
- bins:int或str序列,定义一个范围内等宽的bins数量,默认为10。
- range: 可选的参数,设置分层的下限和上限范围。
- normed:可选参数,与密度属性相同,对不等的bin宽度给出不正确的结果。
- weights: 可选的参数,定义了与数据具有相同尺寸的权重数组。
- density:可选参数,如果是假的,结果包含每个仓的样本数,如果是真的,结果包含仓的概率密度函数。
实现:
输出:
这里,np.histogram()函数有两个返回值_hist,它给出了直方图的数值数组,而edge_bin是一个浮动数据类型的数组,包含长度比hist多一个的bin边缘。
上述直方图的数字表示可以转换为图形形式。Matplotlib的pyplot子模块中的plt()_函数以数据集数组和bin数组为参数,创建相应数据值的柱状图。下面是一些计算nums与bin的直方图的例子。
示例 1:
输出:
示例 2:
输出:
示例 3:
输出: