📅  最后修改于: 2023-12-03 15:20:00.313000             🧑  作者: Mango
Scipy Stats 模块中的 histogram() 函数用于计算并绘制数据集的直方图。这个函数是对 Numpy histogram() 函数的一个包装器,它添加了更多的灵活性和功能。
Scipy Stats.histogram() 函数的基本语法如下:
scipy.stats.histogram(a, numbins=10, range=None, weights=None, density=None)
参数说明:
a
:要计算直方图的输入数组,它必须是一个一维数组或者是一个可迭代对象。numbins
:指定要分成多少个 bin(箱子)。默认值为 10
。range
:指定数据集的数据范围。默认值为 None
,表示使用数据集的最大值和最小值分别作为数据范围。weights
:指定每个数据值的权重。默认值为 None
,表示每个数据值的权重都是 1
。density
:指定是否在 y 轴上绘制归一化后的直方图。默认值为 None
,表示不归一化。下面的例子演示了如何使用 Scipy Stats.histogram() 函数创建并绘制一个简单的直方图。我们将生成一个包含随机整数的一维数组,然后将这个数组传递给 histogram() 函数。
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
# 生成随机整数数组
data = np.random.randint(0, 100, size=50)
# 计算直方图
hist, bin_edges = stats.histogram(data)
# 绘制直方图
plt.hist(data, bins=bin_edges)
plt.title("Random Integer Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
输出结果:
Scipy Stats.histogram() 函数返回两个值:一个包含 bin 的数量,一个包含每个 bin 中值的数量。我们可以将这些信息用作绘图函数(例如 Matplotlib hist() 函数)的输入参数,以绘制直方图。