首页 > 解决方案 > 如何从 pandas 数据帧计数矩阵创建 AnnData 对象?

问题描述

我正在尝试使用 Scanpy Python 包来分析一些单细胞数据。我在 Pandas 数据框中读取了一个计数矩阵(一个 .tsv 文件),其中基因作为列,行作为不同的单元格。每行包含单个细胞的不同基因的计数。我想从 Pandas 数据框中创建一个 AnnData 对象...有人知道我该怎么做吗?不幸的是,我无法提供数据集。

标签: pythonpandasscanpy

解决方案


您可以通过这种方式将 DataFrame 转换df为 AnnData adata

adata = anndata.AnnData(X: df.iloc[1:,1:],
                        obs: df.iloc[:,0:1],
                        var: df.iloc[0:1,:])

但你真的不需要这样做。相反,直接将 tsv 文件读入一个 AnnData 对象:

with open("your_tsv_file.tsv") as your_data:
    adata = anndata.read_csv(your_data, delimiter='\t')

推荐阅读