mantispy.pp.downsample#
- mantispy.pp.downsample(adata, n_per_group=500, groupby=('Metadata_Plate', 'Metadata_Well'), stratify=None, seed=0)#
Return at most
n_per_grouprows from each group.- Parameters:
adata (
AnnData) – Object to sample from. Never modified.n_per_group (
int(default:500)) – Cap per group. Groups smaller than this are kept whole, so groups are capped but not balanced.groupby (
Sequence[str] |str|None(default:('Metadata_Plate', 'Metadata_Well'))) – Columns defining a group. The default caps each well, so every well is represented instead of the densest wells filling the sample.stratify (
str|None(default:None)) – Keep this column’s proportions inside each group, so a rare perturbation is not lost to the sampling.seed (
int(default:0)) – Seed for reproducibility.
- Return type:
- Returns:
A new object holding the sampled rows in their original order, with the call recorded in
uns["mantispy"]["params"].- Raises:
ValueError – If
n_per_groupis below 1.