从稀疏矩阵创建行、列、数据 pandas 数据帧
问题描述
如何创建COO格式的稀疏矩阵,并使 pandas 数据帧既不解嵌到密集布局,又保留row,column,data
的COO格式?
import numpy as np
import pandas as pd
from scipy.sparse import csr_matrix
from scipy.sparse import coo_matrix
a = np.eye(7)
a_csr = csr_matrix(a)
a_coo = a_csr.tocoo()
print(a_coo)
(0, 0) 1.0
(1, 1) 1.0
(2, 2) 1.0
(3, 3) 1.0
(4, 4) 1.0
(5, 5) 1.0
(6, 6) 1.0
也就是说,我如何才能从中获得 pandas 数据帧,而不是将其解套到
pd.DataFrame.sparse.from_spmatrix(a_coo)
但保持row,column,data
格式也在print
操作中可见?
解决方案
要放入数据框中的值如下所示
a_coo.row, a_coo.col, a_coo.data
相关文章