Skip to main content
`Ctrl`+`K`

# pandas.arrays.SparseArray

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

  An ExtensionArray for storing sparse data.

  Parameters:
    data array-like or scalar

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

    sparse_index SparseIndex, optional
    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 str

      Can be ‘integer’ or ‘block’, default is ‘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 |

  Examples

      >>> from pandas.arrays import SparseArray
      >>> arr = SparseArray([0, 0, 1, 2])
      >>> arr
      [0, 0, 1, 2]
      Fill: 0
      IntIndex
      Indices: array([2, 3], dtype=int32)