【问题标题】:How do you convert a timestamp with nano-seconds to just seconds with Pandas?如何使用 Pandas 将纳秒的时间戳转换为秒?
【发布时间】:2021-01-09 22:16:11
【问题描述】:

我有一个位于 ElasticSearch 集群中的 Windows 事件日志。我正在使用 Pandas 通过 API 查询 ES。日期时间字段的输出最初是一个“对象”。使用 pandas.to_datetime 我已成功将其转换为“datetime64[ns, UTC]”的 Dtype。

但是,字段中的数据格式为 yyyy-mm-dd hh:mm:ss+00:00。

我不想要“+00:00”部分。我试过 pandas.to_datetime 格式无济于事。这是我转换对象的方式。

services["datetime"]=pd.to_datetime(services["datetime"])

这里是现场输出,2020-08-31 11:02:03+00:00 这是所需的输出,08/31/2020 11:02:03

不知道怎么去。

【问题讨论】:

    标签: python pandas jupyter-notebook


    【解决方案1】:

    还有一步:

    services["datetime"] = pd.to_datetime(services["datetime"])
    services["datetime"] = services["datetime"].dt.strftime("%m/%d/%Y %H:%M:%S")
    

    【讨论】:

    • 谢谢。我发现这是为了删除时区。 type_10_df["datetime"]=type_10_df["datetime"].dt.tz_localize(None)
    【解决方案2】:

    这不是纳秒,而是时区。它是 pandas 日期时间的一部分,+00:00 仅表示它是 UTC 时间。

    有多种方法可以消除 pandas 的时区意识。看看这些问题:

    How to remove timezone from a Timestamp column in a pandas dataframe

    Strip timezone info in pandas

    Convert pandas timezone-aware DateTimeIndex to naive timestamp, but in certain timezone

    【讨论】:

    • 谢谢!我最终使用了这个...type_10_df["datetime"]=pd.to_datetime(type_10_df["datetime"])type_10_df["datetime"]=type_10_df["datetime"].dt.tz_localize(None)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 2017-04-06
    • 2014-03-20
    • 2012-10-12
    相关资源
    最近更新 更多