我已经制作了一个直方图,plt.hist()
现在我有一个带有这种形式的 bin 的阵列:
bins = [0, 1, 2, 3, 4, 5] # n edges
有没有一种简单的方法可以从这些垃圾箱中取出中间件?最终结果将是一个包含以下n - 1
中心的串列:
centers = [0.5, 1.5, 2.5, 3.5, 4.5] # n - 1 centers
我事先不知道垃圾箱会是什么。
uj5u.com热心网友回复:
这似乎足够好:
x = np.array([0, 1, 2, 3, 4, 5, 6])
y = [(x[i] x[i 1]) / 2 for i in range(len(x[:-1]))]
print(y)
# [0.5, 1.5, 2.5, 3.5, 4.5, 5.5]
uj5u.com热心网友回复:
In [136]: bins = np.array([0, 1, 2, 3, 4, 5])
In [137]: centers = 0.5*(bins[:-1] bins[1:])
In [138]: centers
Out[138]: array([0.5, 1.5, 2.5, 3.5, 4.5])
uj5u.com热心网友回复:
这些解决方案都展示了相同的想法,即找到阵列中相邻点的平均值。这是给猫剥皮的另一种方法:
import numpy
def centers(bins):
return np.diff(bins) / 2 bins[:-1]
bins = np.arange(0, 7)
print(centers(bins))
# array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5])
0 评论