scanpy.get.obs_df#
- scanpy.get.obs_df(adata, keys=(), obsm_keys=(), *, layer=None, gene_symbols=None, use_raw=False)[source]#
Return values for observations in adata.
- Parameters:
- adata
AnnData AnnData object to get values from.
- keys
Collection[str] (default:()) Keys from either
.var_names,.var[gene_symbols], or.obs.columns.- obsm_keys
Iterable[tuple[str,int]] (default:()) Tuples of
(key from obsm, column index of obsm[key]).- layer
str|None(default:None) Layer of
adatato use as expression values.- gene_symbols
str|None(default:None) Column of
adata.varto search forkeysin.- use_raw
bool(default:False) Whether to get expression values from
adata.raw.
- adata
- Return type:
- Returns:
A dataframe with
adata.obs_namesas index, and values specified bykeysandobsm_keys.
Examples
Getting value for plotting:
>>> import scanpy as sc >>> pbmc = sc.datasets.pbmc68k_reduced() >>> plotdf = sc.get.obs_df( ... pbmc, keys=["CD8B", "n_genes"], obsm_keys=[("X_umap", 0), ("X_umap", 1)] ... ) >>> plotdf.columns Index(['CD8B', 'n_genes', 'X_umap-0', 'X_umap-1'], dtype='object') >>> plotdf.plot.scatter("X_umap-0", "X_umap-1", c="CD8B") <Axes: xlabel='X_umap-0', ylabel='X_umap-1'>
Calculating mean expression for marker genes by cluster:
>>> pbmc = sc.datasets.pbmc68k_reduced() >>> marker_genes = ["CD79A", "MS4A1", "CD8A", "CD8B", "LYZ"] >>> genedf = sc.get.obs_df(pbmc, keys=["louvain", *marker_genes]) >>> grouped = genedf.groupby("louvain", observed=True) >>> mean, var = grouped.mean(), grouped.var()