I can see how to remove columns from anndata ie
keep = ['a','b','c']
adata = adata [:, keep]
How does one remove rows/sets of samples from anndata.obs
and anndata.x
?
for example remove adata.obs[Region='reg012']
adata.obs
I can see how to remove columns from anndata ie
keep = ['a','b','c']
adata = adata [:, keep]
How does one remove rows/sets of samples from anndata.obs
and anndata.x
?
for example remove adata.obs[Region='reg012']
adata.obs
Everything is connected, so you can’t remove rows from .obs
without removing rows from the whole object. In your case you want to do one of the following:
adata[adata.obs["Region"] != "reg012"]
adata[adata.obs.query("Region != 'reg012'").index]
adata[[r != "reg012" for r in adata.obs.Region]]
@adamgayoso thanks.
How does one do the inverse of keep for adata.var_names?
ie to exclude based on input list rather than include.
exclude = ['A','B','C']
Ă data = adata[:, exclude]
adata = adata[:, ~adata.var_names.isin(exclude)]
Tilde is “not”, so this reads like “var names that are not in exclude”