An ExtensionArray for storing sparse data.
A dense array of values to store in the SparseArray. This may contain fill_value.
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 |
|
int |
|
bool | False |
datetime64 |
|
timedelta64 |
|
The fill value is potentially specified in three ways. In order of precedence, these are
The fill_value argument
dtype.fill_value if fill_value is None and dtype is a SparseDtype
data.dtype.fill_value if fill_value is None and dtype is not a SparseDtype and data is a SparseArray.
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.
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.
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)
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.arrays.SparseArray.html