mantispy.get.obs_df#

mantispy.get.obs_df(adata, keys=(), obsm_keys=(), *, use=None, gene_symbols=None, layer=None, use_raw=False)[source]#

Return values for observations in adata.

Return type:

DataFrame

Params#

adata

AnnData object to get values from.

keys

Keys from either .var_names, .var[gene_symbols], or .obs.columns.

obsm_keys

Tuples of (key from obsm, column index of obsm[key]).

use

Which layer of adata to use as expression values, e.g. A.layers['counts']. strs are resolve()d, e.g. 'layers.counts'.

gene_symbols

Column of adata.var to search for keys in.

layer

Deprecated since version 1.13.0: Use use instead.

A key of layers, i.e. layer='k' is use=A.layers['k'].

use_raw

Deprecated since version 1.13.0: raw is deprecated. Keep the data in a layer instead.

Whether to get expression values from adata.raw.

Returns#

A dataframe with adata.obs_names as index, and values specified by keys and obsm_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.astype("string")
Index(['CD8B', 'n_genes', 'X_umap-0', 'X_umap-1'], dtype='string')
>>> 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()