h5ad文件转为csv文件:anndata——稀疏矩阵

# -*- coding: utf-8 -*-
"""
Created on Tue Dec 10 19:13:24 2024

@author: 14783
"""

# 读取h5ad文件
ref_adata = sc.read("D:/12.10-论文修改/datasets/2_18162.h5ad")
print(ref_adata)

# 稀疏矩阵转为稠密矩阵
def todense(adata):
    import scipy
    if isinstance(adata.X, scipy.sparse.csr_matrix) or isinstance(adata.X, scipy.sparse.csc_matrix):
        return adata.X.todense()
    else:
        return adata.X

# 调用函数转为稠密矩阵
t = todense(ref_adata)

# 另存为csv文件
expression_data = pd.DataFrame(data=t)
expression_data.to_csv('D:/2_18162_data.csv', index=False)

# 读取细胞类型y

cell_types_unique() =ref_adata.obs['cell_type'].unique()
cell_types =ref_adata.obs['cell_type']

# 另存为csv文件
cell_types_data = pd.DataFrame(data=cell_types)
cell_types_data.to_csv('D:/2_18162_celltype.csv', index=False)


# 也可以分别存为x,y文件,再读取
x = pd.read_csv("D:/2_18162_expression_data副本.csv", header=None)
y = pd.read_csv("D:/2_18162_celltype副本.csv")
adata = sc.AnnData(x)
adata.obs['Group'] = y


# 其中有时候y的读取出错
y = y.reset_index(drop=True)
adata = sc.AnnData(x)
adata.obs['Group'] = y.values

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值