pandas.api.extensions.ExtensionArray.astype#

ExtensionArray.astype(dtype, copy=True)[源代码][源代码]#

转换为带有 ‘dtype’ 的 NumPy 数组或 ExtensionArray。

参数:
dtypestr 或 dtype

数组被转换为的类型码或数据类型。

复制布尔值, 默认为 True

是否复制数据,即使不是必需的。如果为 False,只有在旧的数据类型与新的数据类型不匹配时才会进行复制。

返回:
np.ndarray 或 pandas.api.extensions.ExtensionArray

如果 dtypeExtensionDtype,则是一个 ExtensionArray,否则是一个带有 dtype 作为其 dtype 的 Numpy ndarray。

参见

Series.astype

Cast a Series to a different dtype.

DataFrame.astype

Cast a DataFrame to a different dtype.

api.extensions.ExtensionArray

Base class for ExtensionArray objects.

core.arrays.DatetimeArray._from_sequence

Create a DatetimeArray from a sequence.

core.arrays.TimedeltaArray._from_sequence

Create a TimedeltaArray from a sequence.

示例

>>> arr = pd.array([1, 2, 3])
>>> arr
<IntegerArray>
[1, 2, 3]
Length: 3, dtype: Int64

转换为另一个 ExtensionDtype 返回一个 ExtensionArray

>>> arr1 = arr.astype("Float64")
>>> arr1
<FloatingArray>
[1.0, 2.0, 3.0]
Length: 3, dtype: Float64
>>> arr1.dtype
Float64Dtype()

否则,我们将得到一个 Numpy ndarray:

>>> arr2 = arr.astype("float64")
>>> arr2
array([1., 2., 3.])
>>> arr2.dtype
dtype('float64')