pandas.arrays.SparseArray#
- class pandas.arrays.SparseArray(data, sparse_index=None, fill_value=None, kind='integer', dtype=None, copy=False)[源代码][源代码]#
用于存储稀疏数据的 ExtensionArray。
- 参数:
- 数据类似数组或标量
一个密集的值数组,存储在 SparseArray 中。这可能包含 fill_value。
- sparse_indexSparseIndex,可选
- fill_value标量,可选
数据中的
fill_value
元素不会存储在 SparseArray 中。为了节省内存,这应该是 data 中最常见的值。默认情况下,fill_value 取决于 data 的 dtype:data.dtype
na_value
float
np.nan
int
0
bool
假
datetime64
pd.NaT
timedelta64
pd.NaT
填充值可以通过三种方式指定。按优先顺序,这些方式是
fill_value 参数
dtype.fill_value
如果 fill_value 是 None 并且 dtype 是一个SparseDtype
data.dtype.fill_value
如果 fill_value 是 None 并且 dtype 不是一个SparseDtype
并且 data 是一个SparseArray
。
- 种类str
可以是 ‘integer’ 或 ‘block’,默认是 ‘integer’。稀疏位置的存储类型。
‘block’: 存储每个连续的 span 稀疏值的 block 和 block_length。当稀疏数据倾向于聚集在一起,稀疏值之间有大区域的
fill-value
值时,这是最好的选择。‘integer’: 使用一个整数来存储每个稀疏值的位置。
- dtypenp.dtype 或 SparseDtype,可选
用于 SparseArray 的 dtype。对于 numpy dtypes,这决定了
self.sp_values
的 dtype。对于 SparseDtype,这决定了self.sp_values
和self.fill_value
。- 复制bool, 默认为 False
是否显式复制传入的 data 数组。
属性
None
方法
None
例子
>>> 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)