def is_not_uniform(idx, nbins=10, allowed_gap=0.75):
idx_bins = pd.cut(idx, bins=nbins, labels=False)
idx_bin_size = np.bincount(idx_bins)
diff = idx_bin_size[:-1] - idx_bin_size[1:]
monotonic = (diff < 0).all() or (diff > 0).all()
huge_gap = (idx_bin_size.min()*1.0 / idx_bin_size.max()) < allowed_gap
return monotonic or huge_gap
评论列表
文章目录