【问题标题】:convert mixed date type in pandas datetime在熊猫日期时间中转换混合日期类型
【发布时间】:2019-11-12 21:42:15
【问题描述】:

我有一个包含混合格式日期的数据框(例如包含时代)

df = pandas.DataFrame(data=[1562054799651,'2019-07-02','2007-10-01 00:00:00'],columns=['date'])

我想转换为日期时间,但如果我输入

pandas.to_datetime(df['date'], errors="coerce")

我明白了

0   1970-01-01 00:26:02.054799651 <- THIS IS WRONG SINCE IT SHOULD BE 2019-07-02 08:06:39.651
1   2019-07-02 00:00:00.000000000
2   2007-10-01 00:00:00.000000000
Name: date, dtype: datetime64[ns]

问题是第一个日期是'ms'中的一个纪元......

如果我输入

pandas.to_datetime(df['date'], errors="coerce", unit='ms')

我明白了

0   2019-07-02 08:06:39.651
1                       NaT
2                       NaT
Name: date, dtype: datetime64[ns]

是否有解决方案来获得所需的输出

0   2019-07-02
1   2019-07-02
2   2007-10-01

名称:日期,数据类型:datetime64[ns]

【问题讨论】:

    标签: python pandas dataframe datetime epoch


    【解决方案1】:

    你可以使用 datetime 包

    import datetime
    s = 1236472051807 / 1000.0
    datetime.datetime.fromtimestamp(s).strftime('%Y-%m-%d %H:%M:%S.%f')
    

    我认为这对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      相关资源
      最近更新 更多