# pandas.SparseArray

class `pandas.``SparseArray`(data, sparse_index=None, index=None, fill_value=None, kind='integer', dtype=None, copy=False)

  An ExtensionArray for storing sparse data.

  Changed in version 0.24.0: Implements the ExtensionArray interface.

  Parameters:

  data : array-like

  > A dense array of values to store in the SparseArray. This may contain fill_value.

  sparse_index : SparseIndex, optional

  index : Index

  fill_value : scalar, optional

  > Elements in data that are fill_value are not stored in the SparseArray. For memory savings, this should be the most common value in data. By default, fill_value depends on the dtype of data:

  > data.dtype | na_value
  > --- | ---
  > float | `np.nan`
  > int | `0`
  > bool | False
  > datetime64 | `pd.NaT`
  > timedelta64 | `pd.NaT`

  > The fill value is potentially specified in three ways. In order of precedence, these are

  > 1. The fill_value argument
  > 2. `dtype.fill_value` if fill_value is None and dtype is a `SparseDtype`
  > 3. `data.dtype.fill_value` if fill_value is None and dtype is not a `SparseDtype` and data is a `SparseArray`.

  kind : {‘integer’, ‘block’}, default ‘integer’

  > The type of storage for sparse locations.

  > - ‘block’: Stores a block and block_length for each contiguous span of sparse values. This is best when sparse data tends to be clumped together, with large regions of `fill-value` values between sparse values.
  > - ‘integer’: uses an integer to store the location of each sparse value.

  dtype : np.dtype or SparseDtype, optional

  > The dtype to use for the SparseArray. For numpy dtypes, this determines the dtype of `self.sp_values`. For SparseDtype, this determines `self.sp_values` and `self.fill_value`.

  copy : bool, default False

  > Whether to explicitly copy the incoming data array.

  Attributes

  None |

  Methods

  None |

Scroll To Top