pandas.arrays.SparseArray#
- class pandas.arrays.SparseArray(data, sparse_index=None, fill_value=None, kind='integer', dtype=None, copy=False)[源代码]#
用于存储稀疏数据的 ExtensionArray。
- Parameters:
- dataarray-like 或 scalar
要存储在 SparseArray 中的值的密集数组。这可能包含 fill_value。
- sparse_indexSparseIndex, 可选
- fill_valuescalar, optional
data 中等于 fill_value 的元素不会存储在 SparseArray 中。为了节省内存,这应该是 data 中最常见的值。默认情况下,fill_value 取决于 data 的 dtype:
data.dtype
na_value
float
np.nanint
0bool
False
datetime64
pd.NaTtimedelta64
pd.NaTfill_value 可能通过三种方式指定。按优先级顺序,它们是:
fill_value 参数
如果 fill_value 为 None 且 dtype 是
SparseDtype,则为dtype.fill_value如果 fill_value 为 None 且 dtype 不是
SparseDtype且 data 是SparseArray,则为data.dtype.fill_value。
- kindstr
可以是 ‘integer’ 或 ‘block’,默认为 ‘integer’。稀疏位置的存储类型。
‘block’:为每个连续的稀疏值 跨度 存储一个 block 和 block_length。当稀疏数据倾向于聚集在一起,稀疏值之间有大片
fill-value值时,这种方式效果最好。‘integer’:使用整数来存储每个稀疏值的位置。
- dtypenp.dtype 或 SparseDtype, 可选
用于 SparseArray 的 dtype。对于 numpy dtypes,这决定了
self.sp_values的 dtype。对于 SparseDtype,这决定了self.sp_values和self.fill_value。- copybool,默认 False
是否显式复制传入的 data 数组。
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)
Attributes
None
Methods
None