ff = f.ravel()
order = np.argsort(ff)
fsorted = ff[order]
F = np.cumsum(fsorted)
F /= F[-1]
boundaries = fsorted.searchsorted(levels)
new_levels = F[boundaries]
Python — интегрируйте 2D-оценку плотности ядра в контурные линии