How about `subsample(counts, n, replace=False)`? This way the name matches `np.random.choice`, and keeps the default behavior as sampling without replacement.