Skip to content

Commit

Permalink
GH-43352: [Docs][Python] Add all tensor classes documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
ShaiviAgarwal2 committed Jan 5, 2025
1 parent b48e1ac commit 59e8197
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 94 deletions.
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,3 +137,4 @@ Examples
Java cookbook <https://arrow.apache.org/cookbook/java/>
Python cookbook <https://arrow.apache.org/cookbook/py/>
R cookbook <https://arrow.apache.org/cookbook/r/>

96 changes: 3 additions & 93 deletions docs/source/python/api/tables.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,97 +54,7 @@ Dataframe Interchange Protocol

interchange.from_dataframe

.. _api.tensor:
See Also
--------

Tensors
-------

PyArrow supports both dense and sparse tensors. Dense tensors store all data values explicitly, while sparse tensors represent only the non-zero elements and their locations, making them efficient for storage and computation.

Dense Tensors
-------------

.. autosummary::
:toctree: ../generated/

Tensor

Sparse Tensors
--------------

PyArrow supports the following sparse tensor formats:

.. autosummary::
:toctree: ../generated/

SparseCOOTensor
SparseCSRMatrix
SparseCSCMatrix
SparseCSFTensor

### SparseCOOTensor

The `SparseCOOTensor` represents a sparse tensor in Coordinate (COO) format, where non-zero elements are stored as tuples of row and column indices.

Example:
.. code-block:: python
import pyarrow as pa
indices = pa.array([[0, 0], [1, 2]])
data = pa.array([1, 2])
shape = (2, 3)
tensor = pa.SparseCOOTensor(indices, data, shape)
print(tensor.to_dense())
### SparseCSRMatrix

The `SparseCSRMatrix` represents a sparse matrix in Compressed Sparse Row (CSR) format. This format is useful for matrix-vector multiplication.

Example:
.. code-block:: python
import pyarrow as pa
data = pa.array([1, 2, 3])
indptr = pa.array([0, 2, 3])
indices = pa.array([0, 2, 1])
shape = (2, 3)
sparse_matrix = pa.SparseCSRMatrix.from_numpy(data, indptr, indices, shape)
print(sparse_matrix)
### SparseCSCMatrix

The `SparseCSCMatrix` represents a sparse matrix in Compressed Sparse Column (CSC) format, where data is stored by columns.

Example:
.. code-block:: python
import pyarrow as pa
data = pa.array([1, 2, 3])
indptr = pa.array([0, 1, 3])
indices = pa.array([0, 1, 2])
shape = (3, 2)
sparse_matrix = pa.SparseCSCMatrix.from_numpy(data, indptr, indices, shape)
print(sparse_matrix)
### SparseCSFTensor

The `SparseCSFTensor` represents a sparse tensor in Compressed Sparse Fiber (CSF) format, which is a generalization of the CSR format for higher dimensions.

Example:
.. code-block:: python
import pyarrow as pa
data = pa.array([1, 2, 3])
indptr = [pa.array([0, 1, 3]), pa.array([0, 2, 3])]
indices = [pa.array([0, 1]), pa.array([0, 1, 2])]
shape = (2, 3, 2)
sparse_tensor = pa.SparseCSFTensor.from_numpy(data, indptr, indices, shape)
print(sparse_tensor)
For information about tensors, refer to :doc:`tensors`
3 changes: 2 additions & 1 deletion docs/source/python/api/tensors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -110,4 +110,5 @@ Example:
shape = (2, 3, 2)
sparse_tensor = pa.SparseCSFTensor.from_numpy(data, indptr, indices, shape)
print(sparse_tensor)
print(sparse_tensor)

0 comments on commit 59e8197

Please sign in to comment.