代码之家  ›  专栏  ›  技术社区  ›  user27074

将数字SAS日期转换为datetimes Pandas

  •  0
  • user27074  · 技术社区  · 8 年前

    我目前正在尝试复制以下内容: convert numeric sas date to datetime in Pandas ,但出现以下错误:

    “Python int太大,无法转换为C long”

    以下是我的日期示例:

        0    1.416096e+09
        1    1.427069e+09
        2    1.433635e+09
        3    1.428624e+09
        4    1.433117e+09
    Name: dates, dtype: float64
    

    有什么想法吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Vaishali    8 年前

    这里有一个简单的解决方案。如果日期列称为“date”,请尝试

    df['date'] = pd.to_datetime(df['date'] - 315619200, unit = 's')
    

    此处315619200是1960年1月1日至1970年1月1日之间的秒数。

    你得到

    0   2004-11-15 00:00:00
    1   2005-03-22 00:03:20
    2   2005-06-05 23:56:40
    3   2005-04-09 00:00:00
    4   2005-05-31 00:03:20