pd.DatetimeTZDtype(
unit: Union[str, ForwardRef('DatetimeTZDtype')] = 'ns',
tz=None,
)
Docstring:
An ExtensionDtype for timezone-aware datetime data.
**This is not an actual numpy dtype**, but a duck type.
而类继承则完全不同:
In [162]: type(np.dtype('O')).__mro__
Out[162]: (numpy.dtype[object_], numpy.dtype, object)
In [163]: pd.DatetimeTZDtype.__mro__
Out[163]:
(pandas.core.dtypes.dtypes.DatetimeTZDtype,
pandas.core.dtypes.dtypes.PandasExtensionDtype,
pandas.core.dtypes.base.ExtensionDtype,
object)
In [186]: np.dtype('O').__eq__(pd.core.dtypes.base.ExtensionDtype)
Out[186]: True
如此追随 DatetimeTSDtype 文档,制作:
In [202]: dt = pd.DatetimeTZDtype(tz='UTC')
有了这些,我可以制作一个系列:
In [203]: S = pd.Series(["2020-10-01"],dtype=dt)
In [204]: S
Out[204]:
0 2020-10-01 00:00:00+00:00
dtype: datetime64[ns, UTC]
但是当我要求 numpy 等价物:
In [205]: S.to_numpy()
Out[205]: array([Timestamp('2020-10-01 00:00:00+0000', tz='UTC')], dtype=object)
我不能用它来做数组 dt :
In [206]: np.array("2020-10-01",dtype=dt)
Traceback (most recent call last):
File "<ipython-input-206-c3b73b03da08>", line 1, in <module>
np.array("2020-10-01",dtype=dt)
TypeError: Cannot interpret 'datetime64[ns, UTC]' as a data type
1条答案
按热度按时间xghobddn1#
检查文档:
而类继承则完全不同:
我不知道电话在哪里
==
定义了测试。对于numpy
,对象数据类型是一个包罗万象的类型,所有不是定义的数据类型(数字、字符串等)。如此追随
DatetimeTSDtype
文档,制作:有了这些,我可以制作一个系列:
但是当我要求
numpy
等价物:我不能用它来做数组
dt
: