我有以下格式的股票行情数据:
40289.65972
40289.66319
40289.66667
Run Code Online (Sandbox Code Playgroud)
和Excel能够神奇地将它们转换为:
4/22/14 3:50 PM
4/22/14 3:55 PM
4/22/14 4:00 PM
Run Code Online (Sandbox Code Playgroud)
通过"格式单元格"
如何进行相同的转换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)
)
Run Code Online (Sandbox Code Playgroud)
为了留在熊猫(这是邪恶的快),使用 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')
Run Code Online (Sandbox Code Playgroud)
生产
Timestamp('1988-07-07 01:26:24')
如果你有一个数据帧完整的Excel的浮动日期,你可以将整个事情:
df['BetterDT'] = pd.to_datetime('1899-12-30') + pd.to_timedelta(df.ExecDate, 'D')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6090 次 |
| 最近记录: |