我使用numpy的histogram和digitize函数创建了一个分布。
或者可能是:
然而,由于分布非常倾斜,即使在去除异常值后,许多区间的观察量也很少。我想合并一些区间,有点类似于:如何在R中合并区间。该过程可能涉及到pandas的groupby,然后将大小小于n的组合并到其相邻值中。是否有一种方法可以在pandas/numpy中实现这个过程?
_, bins = np.histogram(x, bins=bins)
arr = np.digitize(x, bins) - 1
x = bins[arr[:]]
或者可能是:
x = pandas.cut(x, bins=bins)
然而,由于分布非常倾斜,即使在去除异常值后,许多区间的观察量也很少。我想合并一些区间,有点类似于:如何在R中合并区间。该过程可能涉及到pandas的groupby,然后将大小小于n的组合并到其相邻值中。是否有一种方法可以在pandas/numpy中实现这个过程?
pd.cut
? - Jon Clementsphyst
中包含这样的功能 - https://github.com/janpipek/physt(但可能要等到你找到答案之后才能实现;-) - honza_p