📜  sciPy stats.histogram()函数| Python(1)

📅  最后修改于: 2023-12-03 15:20:00.313000             🧑  作者: Mango

Scipy Stats.histogram() 函数

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()

输出结果:

Random Integer Histogram

返回值

Scipy Stats.histogram() 函数返回两个值:一个包含 bin 的数量,一个包含每个 bin 中值的数量。我们可以将这些信息用作绘图函数(例如 Matplotlib hist() 函数)的输入参数,以绘制直方图。