我正在尝试使用 Scanpy Python 包来分析一些单细胞数据。我在 Pandas 数据框中读取了一个计数矩阵(一个 .tsv 文件),其中基因作为列,行作为不同的单元格。每行包含单个细胞的不同基因的计数。我想从 Pandas 数据框中创建一个 AnnData 对象...有人知道我该怎么做吗?不幸的是,我无法提供数据集。
2491 次
2 回答
3
您可以通过这种方式将 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')
于 2021-05-06T14:53:57.377 回答
1
直截了当的解决方案:
adata = sc.AnnData(counts_df)
于 2021-09-23T15:28:10.303 回答