繁体   English   中英

在熊猫中转换日期/时间

[英]Converting date/time in Pandas

我有以下格式的股票行情数据:

40289.65972
40289.66319
40289.66667

和Excel能够神奇地将它们转换为:

4/22/14 3:50 PM
4/22/14 3:55 PM
4/22/14 4:00 PM

通过“格式单元格”

如何在pandas进行相同的转换?

上面的链接中提到的解决方案有效,所以我将在此处重新发布该代码段。 谢谢!

import datetime

def minimalist_xldate_as_datetime(xldate, datemode):
    # datemode: 0 for 1900-based, 1 for 1904-based
    return (
        datetime.datetime(1899, 12, 30)
        + datetime.timedelta(days=xldate + 1462 * datemode)
    )

为了留在熊猫(快速邪恶),使用to_timedelta()

import pandas as pd
# should get  7/7/1988 1:26:24 a.m. (https://support.microsoft.com/en-us/kb/214094)
pd.to_datetime('1899-12-30') + pd.to_timedelta(32331.06, 'D')

生成Timestamp('1988-07-07 01:26:24')如果你有一个充满excel-float-dates的数据帧,你可以转换整个东西:

df['BetterDT'] = pd.to_datetime('1899-12-30') + pd.to_timedelta(df.ExecDate, 'D')

Excel认为1900年是闰年,所以要小心你要翻译的内容: http//spreadsheetpage.com/index.php/oddity/the_intentional_date_bug/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM