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

读取h5ad文件时,X是一维而非二维,应将稀疏矩阵转为稠密矩阵;(https://blog.csdn.net/weixin_34945803/article/details/106576629)

# 读取h5ad文件
ref_adata = sc.read("D:/ad.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:/100expression_data.csv', index=False)

# 读取细胞类型y

cell_types = adata.obs['cell_type'].unique()


# 也可以分别存为x,y文件,再读取
x = pd.read_csv("D:/d3_expression_data副本.csv", header=None)
y = pd.read_csv("D:/d3_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、付费专栏及课程。

余额充值