|
41 | 41 |
|
42 | 42 | from pandas.api.extensions import ExtensionDtype |
43 | 43 |
|
| 44 | + from ..compat import CSArray, CSMatrix |
| 45 | + |
44 | 46 | T = TypeVar("T") |
45 | 47 |
|
46 | 48 | ################### |
@@ -174,7 +176,7 @@ def equal_sparse(a, b) -> bool: |
174 | 176 |
|
175 | 177 | xp = array_api_compat.array_namespace(a.data) |
176 | 178 |
|
177 | | - if isinstance(b, CupySparseMatrix | sparse.spmatrix | SpArray): |
| 179 | + if isinstance(b, CupySparseMatrix | spmatrix | SpArray): |
178 | 180 | if isinstance(a, CupySparseMatrix): |
179 | 181 | # Comparison broken for CSC matrices |
180 | 182 | # https://github.com/cupy/cupy/issues/7757 |
@@ -205,8 +207,8 @@ def equal_awkward(a, b) -> bool: |
205 | 207 | return ak.almost_equal(a, b) |
206 | 208 |
|
207 | 209 |
|
208 | | -def as_sparse(x, use_sparse_array=False): |
209 | | - if not isinstance(x, sparse.spmatrix | SpArray): |
| 210 | +def as_sparse(x, *, use_sparse_array: bool = False) -> CSMatrix | CSArray: |
| 211 | + if not isinstance(x, spmatrix | SpArray): |
210 | 212 | if CAN_USE_SPARSE_ARRAY and use_sparse_array: |
211 | 213 | return sparse.csr_array(x) |
212 | 214 | return sparse.csr_matrix(x) |
@@ -537,7 +539,7 @@ def apply(self, el, *, axis, fill_value=None): |
537 | 539 | return el |
538 | 540 | if isinstance(el, pd.DataFrame): |
539 | 541 | return self._apply_to_df(el, axis=axis, fill_value=fill_value) |
540 | | - elif isinstance(el, sparse.spmatrix | SpArray | CupySparseMatrix): |
| 542 | + elif isinstance(el, spmatrix | SpArray | CupySparseMatrix): |
541 | 543 | return self._apply_to_sparse(el, axis=axis, fill_value=fill_value) |
542 | 544 | elif isinstance(el, AwkArray): |
543 | 545 | return self._apply_to_awkward(el, axis=axis, fill_value=fill_value) |
@@ -615,7 +617,7 @@ def _apply_to_array(self, el, *, axis, fill_value=None): |
615 | 617 | ) |
616 | 618 |
|
617 | 619 | def _apply_to_sparse( |
618 | | - self, el: sparse.spmatrix | SpArray, *, axis, fill_value=None |
| 620 | + self, el: CSMatrix | CSArray, *, axis, fill_value=None |
619 | 621 | ) -> spmatrix: |
620 | 622 | if isinstance(el, CupySparseMatrix): |
621 | 623 | from cupyx.scipy import sparse |
@@ -730,11 +732,8 @@ def default_fill_value(els): |
730 | 732 | This is largely due to backwards compat, and might not be the ideal solution. |
731 | 733 | """ |
732 | 734 | if any( |
733 | | - isinstance(el, sparse.spmatrix | SpArray) |
734 | | - or ( |
735 | | - isinstance(el, DaskArray) |
736 | | - and isinstance(el._meta, sparse.spmatrix | SpArray) |
737 | | - ) |
| 735 | + isinstance(el, spmatrix | SpArray) |
| 736 | + or (isinstance(el, DaskArray) and isinstance(el._meta, spmatrix | SpArray)) |
738 | 737 | for el in els |
739 | 738 | ): |
740 | 739 | return 0 |
@@ -830,7 +829,7 @@ def concat_arrays(arrays, reindexers, axis=0, index=None, fill_value=None): |
830 | 829 | ], |
831 | 830 | axis=axis, |
832 | 831 | ) |
833 | | - elif any(isinstance(a, sparse.spmatrix | SpArray) for a in arrays): |
| 832 | + elif any(isinstance(a, spmatrix | SpArray) for a in arrays): |
834 | 833 | sparse_stack = (sparse.vstack, sparse.hstack)[axis] |
835 | 834 | use_sparse_array = any(issubclass(type(a), SpArray) for a in arrays) |
836 | 835 | return sparse_stack( |
@@ -941,7 +940,7 @@ def gen_outer_reindexers(els, shapes, new_index: pd.Index, *, axis=0): |
941 | 940 |
|
942 | 941 | def missing_element( |
943 | 942 | n: int, |
944 | | - els: list[SpArray | sparse.csr_matrix | sparse.csc_matrix | np.ndarray | DaskArray], |
| 943 | + els: list[CSArray | CSMatrix | np.ndarray | DaskArray], |
945 | 944 | axis: Literal[0, 1] = 0, |
946 | 945 | fill_value: Any | None = None, |
947 | 946 | off_axis_size: int = 0, |
|
0 commit comments