Pandas合并垃圾箱

2024-04-25 06:44:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我用numpy直方图和数字化函数创建了一个分布。在

_, bins = np.histogram(x, bins=bins)
arr = np.digitize(x, bins) - 1
x = bins[arr[:]]

或者可能:

^{pr2}$

然而,由于分布是非常倾斜的,即使在去除了异常值之后,也有很多很少观察到的箱子。我想合并垃圾箱,有点类似于:

How to merge bins in R

这个过程可能涉及到pandas groupby,然后将小于n的组大小合并到它们的相邻值。有没有办法在熊猫/纽比实现这一点?在


Tags: to函数numpynpmerge直方图howhistogram
1条回答
网友
1楼 · 发布于 2024-04-25 06:44:31

正如承诺的那样,我在physt 0.3.5版中实现了一些东西。欢迎使用。在

参见http://nbviewer.jupyter.org/github/janpipek/physt/blob/master/doc/Binning2.ipynb#Merging-bins,尤其是{a2}

在您的情况下,工作流如下所示:

import physt
histogram = physt.h1(x, bins=bins)
histogram.merge_bins(min_frequency=n)
bins = histogram.numpy_bins 

请注意,代码处于alpha阶段,并且不是每个bin包含的内容超过所需的最小值(为了保留高窄的bin)。最佳算法仍在寻找中。在

相关问题 更多 >