-
SparseSeries.to_coo(row_levels=(0, ), column_levels=(1, ), sort_labels=False)
[source] -
Create a scipy.sparse.coo_matrix from a SparseSeries with MultiIndex.
Use row_levels and column_levels to determine the row and column coordinates respectively. row_levels and column_levels are the names (labels) or numbers of the levels. {row_levels, column_levels} must be a partition of the MultiIndex level names (or numbers).
New in version 0.16.0.
Parameters: row_levels : tuple/list
column_levels : tuple/list
sort_labels : bool, default False
Sort the row and column labels before forming the sparse matrix.
Returns: y : scipy.sparse.coo_matrix
rows : list (row labels)
columns : list (column labels)
Examples
123456789101112131415161718192021222324>>>
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
)]
SparseSeries.to_coo()

2025-01-10 15:47:30
Please login to continue.