# How do you create a sparse matrix in python?

If most of the elements of the matrix have 0 value, then it is called a sparse matrix. The two major benefits of using sparse matrix instead of a simple matrix are:

• Storage: There are lesser non-zero elements than zeros and thus lesser memory can be used to store only those elements.
• Computing time: Computing time can be saved by logically designing a data structure traversing only non-zero elements.

Sparse matrices are generallyutilized in applied machine learning such as in data containing data-encodings that map categories to count and also in entire subfields of machine learning such as natural language processing (NLP).

Example:

```0 0 3 0 4
0 0 5 7 0
0 0 0 0 0
0 2 6 0 0```

Representing a sparse matrix by a 2D array leads to wastage of lots of memory as zeroes in the matrix are of no use in most of the cases. So, instead of storing zeroes with non-zero elements, we only store non-zero elements. This means storing non-zero elements with triples- (Row, Column, value).

### Create a Sparse Matrix in Python

Python’s SciPygives tools for creating sparse matrices using multiple data structures, as well as tools for converting a dense matrix to a sparse matrix. The function csr_matrix() is used to create a sparse matrix of compressed sparse row format whereas csc_matrix() is used to create a sparse matrix of compressed sparse column format.

#### # Usingcsr_matrix()

Syntax:

scipy.sparse.csr_matrix(shape=None, dtype=None)

Parameters:

shape: Get shape of a matrix

dtype: Data type of the matrix

Example 1:

## Python

`import` `numpy as np`

`from` `scipy.sparse ``import` `csr_matrix`

`sparseMatrix ``=` `csr_matrix((``3``, ``4``), `

`                          ``dtype ``=` `np.int8).toarray()`

`print``(sparseMatrix)`

Output:

```[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
```

Example 2:

## Python

`import` `numpy as np`

`from` `scipy.sparse ``import` `csr_matrix`

`row ``=` `np.array([``0``, ``0``, ``1``, ``1``, ``2``, ``1``])`

`col ``=` `np.array([``0``, ``1``, ``2``, ``0``, ``2``, ``2``])`

`data ``=` `np.array([``1``, ``4``, ``5``, ``8``, ``9``, ``6``])`

`sparseMatrix ``=` `csr_matrix((data, (row, col)), `

`                          ``shape ``=` `(``3``, ``3``)).toarray()`

`print``(sparseMatrix)`

Output:

```[[ 1  4  0]
[ 8  0 11]
[ 0  0  9]]
```

#### # Usingcsc_matrix()

Syntax:

scipy.sparse.csc_matrix(shape=None, dtype=None)

Parameters:

shape: Get shape of a matrix

dtype: Data type of the matrix

Example 1:

## Python

`import` `numpy as np`

`from` `scipy.sparse ``import` `csc_matrix`

`sparseMatrix ``=` `csc_matrix((``3``, ``4``), `

`                          ``dtype ``=` `np.int8).toarray()`

`print``(sparseMatrix)`

Output:

```[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
```

Example 2:

## Python

`import` `numpy as np`

`from` `scipy.sparse ``import` `csc_matrix`

`row ``=` `np.array([``0``, ``0``, ``1``, ``1``, ``2``, ``1``])`

`col ``=` `np.array([``0``, ``1``, ``2``, ``0``, ``2``, ``2``])`

`data ``=` `np.array([``1``, ``4``, ``5``, ``8``, ``9``, ``6``])`

`sparseMatrix ``=` `csc_matrix((data, (row, col)),`

`                          ``shape ``=` `(``3``, ``3``)).toarray()`

`print``(sparseMatrix)`

Output:

```[[ 1  4  0]
[ 8  0 11]
[ 0  0  9]]
```

### How do you make a sparse matrix in python?

Sparse Matrices in Python A dense matrix stored in a NumPy array can be converted into a sparse matrix using the CSR representation by calling the csr_matrix() function.

### How do you make a sparse matrix?

Description. S = sparse( A ) converts a full matrix into sparse form by squeezing out any zero elements. If a matrix contains many zeros, converting the matrix to sparse storage saves memory. S = sparse( m,n ) generates an m -by- n all zero sparse matrix.

### How do I save a sparse matrix in python?

Save a sparse matrix to a file using . npz format. Either the file name (string) or an open file (file-like object) where the data will be saved.

### How do you plot sparse data in Python?

One way to visualize sparse matrix is to use 2d plot. Python's matplotlib has a special function called Spy for visualizing sparse matrix. Spy is very similar to matplotlib's imshow, which is great for plotting a matrix or an array as an image. imshow works with dense matrix, while Spy works with sparse matrix.