谁能解释一下这段代码输出
can any one explain about this code output
1.I 试图理解这段代码,但我不能't.would 你能帮我吗?
a = np.arange(5)
hist, bin_edges = np.histogram(a, density=True)
hist
2.why输出是这样的吗?
array([0.5, 0. , 0.5, 0. , 0. , 0.5, 0. , 0.5, 0. , 0.5])
请检查此 post。提示:当你调用 np.histogram
时,默认的 bin 值为 10,所以这就是你的输出有 10 个元素的原因。
np.histogram
的 bins
参数的默认值为 10。因此直方图会计算您的数组元素属于哪个 bin。在这种情况下 a = np.array([0, 1, 2, 3, 4])
。如果我们使用 10
个 bin 创建直方图,那么我们将区间 0-4(含)分成 10 个相等的 bin。这给了我们(注意 11 个端点给了我们 10 个箱子):
np.linspace(0, 4, 11) = array([0. , 0.4, 0.8, 1.2, 1.6, 2. , 2.4, 2.8, 3.2, 3.6, 4. ])
我们现在只需要查看数组 a
中的元素属于哪个 bin。我们可以这样统计:
[1, 0, 1, 0, 0, 1, 0, 1, 0, 1]
现在这仍然不是输出的确切内容。 density=True
参数声明(来自文档):“如果 True
,结果是
bin 处的概率 密度 函数,归一化为
范围内的 积分 是 1."
每个箱子(高度 .5
)的宽度为 .4
,因此 5 x .5 x .4 = 1
是该参数的要求。
numpy.arange(5)
生成一个由 5 个元素均匀分布的 numpy 数组:array([0,1,2,3,4])。
np.histogram(a, density=True)
returns 使用 10 个 bin(这是默认值)从数组 a
获得的 bin 边缘和直方图的值。
bin_edges 给出了 bin 的边缘,而 histogram 给出了每个 bin 的出现次数。鉴于您设置了 density=True
,出现次数被归一化(范围内的积分为 1)。
查看 here 了解更多信息。
1.I 试图理解这段代码,但我不能't.would 你能帮我吗?
a = np.arange(5)
hist, bin_edges = np.histogram(a, density=True)
hist
2.why输出是这样的吗?
array([0.5, 0. , 0.5, 0. , 0. , 0.5, 0. , 0.5, 0. , 0.5])
请检查此 post。提示:当你调用 np.histogram
时,默认的 bin 值为 10,所以这就是你的输出有 10 个元素的原因。
np.histogram
的 bins
参数的默认值为 10。因此直方图会计算您的数组元素属于哪个 bin。在这种情况下 a = np.array([0, 1, 2, 3, 4])
。如果我们使用 10
个 bin 创建直方图,那么我们将区间 0-4(含)分成 10 个相等的 bin。这给了我们(注意 11 个端点给了我们 10 个箱子):
np.linspace(0, 4, 11) = array([0. , 0.4, 0.8, 1.2, 1.6, 2. , 2.4, 2.8, 3.2, 3.6, 4. ])
我们现在只需要查看数组 a
中的元素属于哪个 bin。我们可以这样统计:
[1, 0, 1, 0, 0, 1, 0, 1, 0, 1]
现在这仍然不是输出的确切内容。 density=True
参数声明(来自文档):“如果 True
,结果是
bin 处的概率 密度 函数,归一化为
范围内的 积分 是 1."
每个箱子(高度 .5
)的宽度为 .4
,因此 5 x .5 x .4 = 1
是该参数的要求。
numpy.arange(5)
生成一个由 5 个元素均匀分布的 numpy 数组:array([0,1,2,3,4])。
np.histogram(a, density=True)
returns 使用 10 个 bin(这是默认值)从数组 a
获得的 bin 边缘和直方图的值。
bin_edges 给出了 bin 的边缘,而 histogram 给出了每个 bin 的出现次数。鉴于您设置了 density=True
,出现次数被归一化(范围内的积分为 1)。
查看 here 了解更多信息。