为什么从熊猫中删除日期时间?

时间:2020-03-25 20:25:19

标签: python pandas datetime

我处理熊猫的大量数据分析,并且每天使用pandas.datetime。最近,我收到警告“未来警告:不建议使用pandas.datetime类,并且在以后的版本中将其从熊猫中删除。请改为从datetime模块导入。”我曾在datetime无法使用之前使用过datetime lib,但我知道它是一个与“ date”更相关的库,但是有人知道这种向datetime库转换的想法吗?

1 个答案:

答案 0 :(得分:14)

摘要datetime(来自Python Standard Libary)从来都不是Pandas或其API的真正组成部分,开发人员正在共同努力予以警告。您可以直接访问datetime类:

from datetime import datetime

详细信息:包含较旧版本的Pandas(example: 0.20):

from datetime import datetime

pandas/__init__.py

这意味着,如果您确实愿意,可以引用并使用pd.datetime,它实际上只是标准库的datetime类。

每个熊猫issue #30610issue #30296中,pandas.datetime实际上只是标准的datetime.datetime。似乎已弃用它们(有趣的是,在模块级别通过overriding __getattr__完成了此操作)是为了阻止“回旋使用”,在此情况下,其他第三方库/模块被带入了顶级Pandas命名空间。

也就是说,Pandas库并不认为该命名空间中的datetime(或numpy)是其API的一部分,因此您不应该依赖它在其中第一名。


*具体来说,这看起来像:

# pandas/__init__.py
    def __getattr__(name):
        import warnings
        elif name == "datetime":
            warnings.warn(...)
            from datetime import datetime as dt
            return dt