dvpio.read.omics.parse_df

Contents

dvpio.read.omics.parse_df#

dvpio.read.omics.parse_df(df, obs_index=None, var_index=None, **table_kwargs)#

Warning: This function is deprecated and will be removed in the next minor release

Convert a pandas dataframe to anndata.AnnData

Parameters:
  • df (DataFrame) – Pandas dataframe of shape N (samples) x F (features). Expects observations (e.g. cells, samples) in rows and features (protein groups) in columns

  • obs_index (str | None (default: None)) – Name of dataframe column that should be set to index in .obs attribute (anndata.AnnData.var_names)

  • var_index (str | None (default: None)) – Name of dataframe column that should be set to index in .obs attribute (anndata.AnnData.var_names)

  • **table_kwargs – Keyword arguments passed to spatialdata.models.TableModel.parse()

Return type:

AnnData

Returns:

anndata.AnnData AnnData object with N observations and F features.

  • .obs Contains content of df.index

  • .var contains content of df.columns

Example

import numpy as np
import pandas as pd
from dvpio.read.omics import parse_df

df = pd.DataFrame(np.arange(9).reshape(3, 3), columns=["G1", "G2", "G3"], index=["A", "B", "C"])
df = df.rename_axis(columns="gene", index="sample")

adata = parse_df(df)

assert adata.shape == (3, 3)
assert "sample" in adata.obs.columns
assert "gene" in adata.var.columns

adata = parse_df(df, obs_index="sample")
assert "sample" not in adata.obs.columns
assert adata.obs.index.name == "sample"