【问题标题】:Number to Date Conversion using Pandas in Python?在 Python 中使用 Pandas 进行数字到日期转换?
【发布时间】:2017-09-11 19:53:01
【问题描述】:

当我尝试从数字格式转换为日期时,我得到的结果与我在 Excel 中得到的结果不同。

我需要将 数字 转换为 日期格式 并获得与 Excel 中相同的结果。

例如,在 Excel 中,我得到以下数字:

Input - 42970.73819
Output- 8/23/2017 17:43

我尝试在 Pandas 中使用日期转换,但没有得到与 Excel 相同的结果。

谢谢 马丹

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:

    我认为你需要转换serial date:

    df = pd.DataFrame({'date':[42970.73819,42970.73819]})
    print (df)
              date
    0  42970.73819
    1  42970.73819
    
    df = pd.to_datetime((df['date'] - 25569) * 86400.0, unit='s')
    print (df)
    0   2017-08-23 17:42:59.616
    1   2017-08-23 17:42:59.616
    Name: date, dtype: datetime64[ns]
    

    【讨论】:

    • 是的...逻辑在xlrd.xldate_as_datetime 中,但是Windows(1900)和Mac(1904)的年份有两个偏移量......所以df.date.apply(xlrd.xldate_as_datetime, args=(0,))也是一个选项...(假设您将在某个时间点处理 Excel 文档,并且 Pandas 可能安装了 xlrd、xlwt 和 openpyxl)
    猜你喜欢
    • 2022-01-26
    • 2020-09-13
    • 2016-07-24
    • 2016-01-27
    • 2020-12-09
    • 2021-04-19
    • 1970-01-01
    相关资源
    最近更新 更多