gpt4 book ai didi

python - 将 Matlab hist() 与 Numpy histogram() 匹配

转载 作者:太空宇宙 更新时间:2023-11-03 12:03:06 25 4
gpt4 key购买 nike

我已阅读 thisthis ,加上一些相关的 SO 问题,如 this .还是想不出解决办法。

我尝试在 Matlab 中复制 hist() 函数,我得到了不同维度的结果,导致内部值不同。我知道 bin-center 与 bin-edge,我仍然想匹配 Matlab 结果。

Matlab:

a = [1,2,3];
[w,t] = hist(a);
w = [1, 0, 0, 0, 1, 0, 0, 0, 0, 1]
t = [1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7, 2.9]
length(t) = 10

python :

a = [1,2,3]
w,t = histogram(a)
w = [1, 0, 0, 0, 0, 1, 0, 0, 0, 1]
t = [1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0]
len(t) = 11

我当然可以编写自己的函数,但如果有内置功能,我会尽量避免重新发明轮子。

最佳答案

手动计算 bin 中心:

>>> t = np.array([1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0])
>>> t[:-1] + ((t[1:] - t[:-1])/2)
array([ 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7, 2.9])

或者使用 np.diff 更简单:

>>> t[:-1] + np.diff(t)/2
array([ 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7, 2.9])

关于python - 将 Matlab hist() 与 Numpy histogram() 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41869651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com