pandas.SparseSeries.to_coo¶
-
SparseSeries.
to_coo
(row_levels=(0, ), column_levels=(1, ), sort_labels=False)[source]¶ 从带有MultiIndex的SparseSeries创建scipy.sparse.coo_matrix。
使用row_levels和column_levels分别确定行和列坐标。row_levels和column_levels是级别的名称(标签)或数字。{row_levels,column_levels}必须是MultiIndex级别名称(或数字)的分区。
版本0.16.0中的新功能。
参数: row_levels:tuple / list
column_levels:tuple / list
sort_labels:bool,default False
在形成稀疏矩阵之前对行和列标签进行排序。
返回: y:scipy.sparse.coo_matrix
rows:list(row labels)
列:list(列标签)
例子
>>> from numpy import nan >>> s = Series([3.0, nan, 1.0, 3.0, nan, nan]) >>> s.index = MultiIndex.from_tuples([(1, 2, 'a', 0), (1, 2, 'a', 1), (1, 1, 'b', 0), (1, 1, 'b', 1), (2, 1, 'b', 0), (2, 1, 'b', 1)], names=['A', 'B', 'C', 'D']) >>> ss = s.to_sparse() >>> A, rows, columns = ss.to_coo(row_levels=['A', 'B'], column_levels=['C', 'D'], sort_labels=True) >>> A <3x4 sparse matrix of type '<class 'numpy.float64'>' with 3 stored elements in COOrdinate format> >>> A.todense() matrix([[ 0., 0., 1., 3.], [ 3., 0., 0., 0.], [ 0., 0., 0., 0.]]) >>> rows [(1, 1), (1, 2), (2, 1)] >>> columns [('a', 0), ('a', 1), ('b', 0), ('b', 1)]