【问题标题】:date format changed strange way日期格式改变了奇怪的方式
【发布时间】:2020-02-22 08:35:28
【问题描述】:

我的 df['date'] 格式为

pandas.core.series.Series

我更改了日期格式

df['date_time'] = pd.to_datetime(df["date"])

但是日期变成了奇怪的格式

20160101  -> 1970-01-01 00:00:00.020160101

【问题讨论】:

    标签: pandas date


    【解决方案1】:

    Pandas 尝试'guess' 日期时间格式,但有时会失败。所以这里如果所有日期时间的格式都为YYYYMMDD 添加参数format='%Y%m%d' 以进行正确解析:

    df = pd.DataFrame({'date':['20160101', '20160104']})
    df['date_time'] = pd.to_datetime(df["date"], format='%Y%m%d')
    print (df)
           date  date_time
    0  20160101 2016-01-01
    1  20160104 2016-01-04
    

    编辑:在一些最新的 pandas 版本(在 pandas 0.25.1 中测试)中,您的解决方案应该可以正常工作:

    df['date_time'] = pd.to_datetime(df["date"])
    print (df)
           date  date_time
    0  20160101 2016-01-01
    1  20160104 2016-01-04
    

    【讨论】:

      猜你喜欢
      • 2018-07-18
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多