用法:
ExtensionArray.take(indices, *, allow_fill=False, fill_value=None)
从数组中获取元素。
- indices:int 序列或 int 的一维 np.ndarray
要采取的指标。
- allow_fill:布尔值,默认为 False
如何处理
indices
中的负值。False:
indices
中的负值表示从右侧开始的位置索引(默认值)。这类似于numpy.take()
。True:
indices
中的负值表示缺失值。这些值设置为fill_value
。任何其他负值都会引发ValueError
。
- fill_value:任何,可选
allow_fill
为 True 时用于 NA-indices 的填充值。这可能是None
,在这种情况下,使用类型的默认 NA 值self.dtype.na_value
。对于许多 ExtensionArrays,将有两种表示
fill_value
:一个 user-facing “boxed” 标量和一个低级物理 NA 值。fill_value
应该是 user-facing 版本,并且实现应该处理将其转换为物理版本以便在必要时处理镜头。
- 扩展数组
- 索引错误
当索引超出数组的范围时。
- ValueError
当
indices
包含除-1
以外的负值且allow_fill
为True 时。
参数:
返回:
抛出:
注意:
ExtensionArray.take 由
Series.__getitem__
、.loc
、iloc
调用,当indices
是一系列值时。此外,它由Series.reindex()
或任何其他导致重新对齐的方法调用,带有fill_value
。例子:
这是一个示例实现,它依赖于将扩展数组转换为对象 dtype。这使用了辅助方法
pandas.api.extensions.take()
。def take(self, indices, allow_fill=False, fill_value=None): from pandas.core.algorithms import take # If the ExtensionArray is backed by an ndarray, then # just pass that here instead of coercing to object. data = self.astype(object) if allow_fill and fill_value is None: fill_value = self.dtype.na_value # fill value should always be translated from the scalar # type for the array, to the physical storage type for # the data, before passing to take. result = take(data, indices, fill_value=fill_value, allow_fill=allow_fill) return self._from_sequence(result, dtype=self.dtype)
相关用法
- Python pandas.api.extensions.ExtensionArray.repeat用法及代码示例
- Python pandas.api.extensions.ExtensionDtype用法及代码示例
- Python pandas.api.extensions.ExtensionDtype.construct_from_string用法及代码示例
- Python pandas.api.extensions.register_index_accessor用法及代码示例
- Python pandas.api.extensions.register_dataframe_accessor用法及代码示例
- Python pandas.api.extensions.register_extension_dtype用法及代码示例
- Python pandas.api.extensions.register_series_accessor用法及代码示例
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代码示例
- Python pandas.api.indexers.FixedForwardWindowIndexer用法及代码示例
- Python pandas.api.types.is_sparse用法及代码示例
- Python pandas.api.types.is_extension_array_dtype用法及代码示例
- Python pandas.api.indexers.check_array_indexer用法及代码示例
- Python pandas.api.types.is_extension_type用法及代码示例
- Python pandas.api.types.is_dict_like用法及代码示例
- Python pandas.api.types.is_float_dtype用法及代码示例
- Python pandas.api.types.is_datetime64_any_dtype用法及代码示例
- Python pandas.api.types.is_hashable用法及代码示例
- Python pandas.api.types.is_categorical用法及代码示例
- Python pandas.api.types.is_scalar用法及代码示例
- Python pandas.api.types.is_number用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.api.extensions.ExtensionArray.take。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。