用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。