ERR: give better error message when providing wrong sparse matrix type in from_coo · Issue #26554 · pandas-dev/pandas (original) (raw)

pd.Series.sparse.from_coo only accepts a coo matrix format, but when giving it different matrix type, you get a not so useful error message:

In [11]: import scipy.sparse

In [12]: m = scipy.sparse.csr_matrix(np.array([[0,1],[0,0]]))

In [13]: pd.Series.sparse.from_coo(m)

AttributeError Traceback (most recent call last) in ----> 1 pd.Series.sparse.from_coo(m)

~/scipy/pandas/pandas/core/arrays/sparse.py in from_coo(cls, A, dense_index) 2015 from pandas import Series 2016 -> 2017 result = _coo_to_sparse_series(A, dense_index=dense_index, 2018 sparse_series=False) 2019 result = Series(result.array, index=result.index, copy=False)

~/scipy/pandas/pandas/core/sparse/scipy_sparse.py in _coo_to_sparse_series(A, dense_index) 122 Convert a scipy.sparse.coo_matrix to a SparseSeries. 123 --> 124 Parameters 125 ---------- 126 A : scipy.sparse.coo.coo_matrix

~/miniconda3/envs/dev37/lib/python3.7/site-packages/scipy/sparse/base.py in getattr(self, attr) 687 return self.getnnz() 688 else: --> 689 raise AttributeError(attr + " not found") 690 691 def transpose(self, axes=None, copy=False):

AttributeError: row not found