pratyushadk commented on code in PR #50907:
URL: https://github.com/apache/arrow/pull/50907#discussion_r3853686555
##########
python/pyarrow/tests/test_sparse_tensor.py:
##########
@@ -254,6 +258,29 @@ def test_sparse_csr_matrix_from_dense(dtype_str,
arrow_type):
assert np.array_equal(indices, result_indices)
[email protected](not csr_array, reason="requires scipy")
[email protected]('pa_class,sc_matrix_class,sc_array_class', [
+ pytest.param(
+ pa.SparseCSRMatrix, csr_matrix, csr_array, id='CSR'
+ ),
+ pytest.param(
+ pa.SparseCSCMatrix, csc_matrix, csc_array, id='CSC'
+ ),
+])
+def test_sparse_csx_matrix_from_1d(
+ pa_class, sc_matrix_class, sc_array_class):
+ array = np.array([1, 0, 2, 0, 0, 3, 0, 4], dtype=np.int64)
+ tensor = pa.Tensor.from_numpy(array)
+
+ scipy_matrix = sc_matrix_class(array)
+ sparse_tensor = pa_class.from_tensor(tensor)
+
+ assert np.array_equal(
+ sparse_tensor.to_tensor().to_numpy(), scipy_matrix.toarray()
Review Comment:
Good suggestion! Your exact snippet would hit `ValueError: CSC arrays don't
support 1D input` from `csc_array(array)`, which is where I got confused
earlier and fell back to the `*_matrix` classes. But reshaping to 2D first
solves it cleanly.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]