我想使用固定的 bin 大小对我的数据进行 bin 处理,但希望能够移动 bin 边缘以操纵最终进入 bin 的数据数量。我唯一的限制是箱大小,我想最大化连续箱中的数据点
例如:
data = [10, 10, 10, 10, 13, 15, 15, 16, 17, 18, 19, 20]
binsize = 2
B = int((data.max() - data.min())/binsize) #Calculate bin width
pd.cut(data, B)
上面的代码将创建 4 个 bin,从 9.99 到 11.6、11.6 到 13.2 等等,这将导致第一个 bin 中有 4 个数据点,第二个 bin 中有 1 个数据点,第三个 bin 中有 3 个数据点。
(直方图不需要这个,但添加了标签,因为它涵盖了相同的概念)
无论如何都没有使用for循环编写函数来实现这一点