anndata稀疏矩阵csr_matrix

简介: anndata稀疏矩阵csr_matrix

最近在用scanorama进行单细胞转录组数据整合的过程中,出现报错

error: data sets must be numpy array or scipy.sparse.csr_matrix, received type <class 'scipy.sparse.csc.csc_matrix'>.


经过检查发现是data.X 数据格式不正确,需要进行格式转换后再整合

data.X = scipy.sparse.csr_matrix(data.X)


这里再复习一下Anndata中的csr_matrix格式

anndata

AnnData 格式通常包含以下slot:

  • X包含表达式矩阵。
  • obsm包含嵌入数据。
  • obs包含细胞元数据。
  • var包含基因元数据。

微信截图_20230606162500.png

It is recommended to store the expression matrix in CSR (compressed sparse row) format to create smaller files depending on sparsity of your data instead of CSC (compressed sparse column) format or dense Numpy array.

csr_matrix(Compressed Sparse Row matrix)压缩稀疏行格式

为什么要使用csr_matrix?

1.有利于高效运算

2.有利于高效行切片

3.有利于快速地矩阵矢量积运算

#要将表达式矩阵转换为CSR格式,请使用:
import scipy
adata.X = scipy.sparse.csr_matrix(adata.X)
#要将表达式矩阵转换为 Numpy 数组,请使用:
adata.X = scipy.sparse.csr_matrix.toarray(adata.X)


相关文章
|
5月前
|
存储 算法 编译器
【数据结构原理】稀疏矩阵 - THE SPARSE MATRIX
【数据结构原理】稀疏矩阵 - THE SPARSE MATRIX
73 0
|
5月前
|
存储 机器学习/深度学习 算法
稀疏矩阵
稀疏矩阵是一种特殊形式的矩阵,其中大部分元素都是零。与密集矩阵相比,稀疏矩阵在存储和计算时可以采用特殊的算法和数据结构,以提高计算效率和节省存储空间。
75 3
|
5月前
对角矩阵(Diagonal Matrix)
对角矩阵(Diagonal Matrix)是一种特殊的矩阵,其元素仅位于主对角线上。对角矩阵通常用于线性代数和微积分等数学领域,它有以下几个特点:
218 7
|
8月前
|
机器学习/深度学习 移动开发 分布式计算
IS ATTENTION BETTER THAN MATRIX DECOMPOSITION
目前self-attention机制已经在深度学习领域发挥着至关重要的作用。在建模全局信息时,attention机制是不是能够被取代,或者有更好的方法?
86 0
|
10月前
|
机器学习/深度学习 存储 并行计算
【Pytorch】Tensor的分块、变形、排序、极值与in-place操作
【Pytorch】Tensor的分块、变形、排序、极值与in-place操作
335 0
|
11月前
|
Python
scipy库中的sparse.csr_matrix函数介绍
scipy库中的sparse.csr_matrix函数介绍
Harry Potter and The Vector Spell-gym101669D(矩阵的秩-并查集)
题意: 给出一个0 1矩阵,这个矩阵中每一列有且只有两个1,求这个矩阵的秩 输入一行中1的数量x,然后后面x个数代表1出现的列位置 求出这个矩阵的秩 方法: 思维并查集 将每一列的两个1所在的行编号连一条边,然后求一下最小生成树就好 其实就是我们维护一个并查集,在这个并查集里面的所有点都可以两两组合形成一列,如果不在同一个集合里面,就会对答案+1
85 0
Harry Potter and The Vector Spell-gym101669D(矩阵的秩-并查集)
|
算法
【计算理论】计算复杂性 ( NP 完全问题 | NP 难 问题 P = NP 的情况 | NP 难 问题 P ≠ NP 的情况 )
【计算理论】计算复杂性 ( NP 完全问题 | NP 难 问题 P = NP 的情况 | NP 难 问题 P ≠ NP 的情况 )
118 0
【计算理论】计算复杂性 ( NP 完全问题 | NP 难 问题 P = NP 的情况 | NP 难 问题 P ≠ NP 的情况 )
|
数据可视化 Python
Numpy:利用Numpy库建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal
Numpy:利用Numpy库建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal
Numpy:利用Numpy库建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal