當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.api.extensions.ExtensionDtype用法及代碼示例


用法:

class pandas.api.extensions.ExtensionDtype

自定義數據類型,與 ExtensionArray 配對。

注意

該接口包括以下必須由子類實現的抽象方法:

  • type

  • name

  • construct_array_type

以下屬性和方法會影響 dtype 在 pandas 操作中的行為

  • _is_numeric

  • _is_boolean

  • _get_common_dtype

na_value 類屬性可用於設置此類型的默認 NA 值。默認使用numpy.nan

ExtensionDtypes 必須是可散列的。基類提供了一個默認實現,它依賴於_metadata 類屬性。 _metadata 應該是一個包含定義數據類型的字符串的元組。例如,PeriodDtypefreq 屬性。

如果你有一個參數化的 dtype,你應該設置 ``_metadata`` 類屬性.

理想情況下,_metadata 中的屬性會將參數與您的ExtensionDtype.__init__(如果有)相匹配。如果 _metadata 中的任何屬性未實現標準 __eq____hash__ ,則此處的默認實現將不起作用。

對於與 Apache Arrow (pyarrow) 的交互,可以實現 __from_arrow__ 方法:此方法接收 pyarrow Array 或 ChunkedArray 作為唯一參數,並期望為此 dtype 和傳遞的值返回適當的 pandas ExtensionArray:

class ExtensionDtype:

    def __from_arrow__(
        self, array:Union[pyarrow.Array, pyarrow.ChunkedArray]
    ) -> ExtensionArray:
        ...

出於性能原因,此類不繼承自“abc.ABCMeta”。接口需要的方法和屬性引發pandas.errors.AbstractMethodError,並且沒有提供用於注冊虛擬子類的register方法。

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.api.extensions.ExtensionDtype。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。