【问题标题】:Desperately Need Advice on Converting Date Column迫切需要有关转换日期列的建议
【发布时间】:2020-03-06 17:58:56
【问题描述】:

我有一个在日期列中包含混合数据类型的数据集。 例如,该列如下所示:

ID     Date
1     2019-01-01
2     2019-01-02
3     2019-11-01
4     40993
5     40577
6     39949

当我尝试使用 pd.to_datetime 转换列时,我收到一条错误消息“在传递的数组中混合了日期时间和整数”。

如果有人能帮我解决这个问题,我将不胜感激!理想情况下,最好让所有行都采用“yyyy-mm-dd”格式。 谢谢!

【问题讨论】:

  • 这些整数来自哪里?它们是一些奇怪的日期格式吗?您需要创建一个函数,将它们转换为 YMD 格式的日期。
  • 请同时发布您的预期输出

标签: python pandas date datetime


【解决方案1】:

我猜这些是 excel 日期格式?

Convert Excel style date with pandas

import xlrd

def read_date(date):
    try:
        return xlrd.xldate.xldate_as_datetime(int(date), 0)
    except:
        return pd.to_datetime(date)


df['New Date'] = df['Date'].apply(read_date)

df

Out[1]: 
   ID        Date   New Date
0   1  2019-01-01 2019-01-01
1   2  2019-01-02 2019-01-02
2   3  2019-11-01 2019-11-01
3   4       40993 2012-03-25
4   5       40577 2011-02-03
5   6       39949 2009-05-16

【讨论】:

    猜你喜欢
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多