我必须解析一个 xml 文件,该文件为我提供 Excel 样式的日期时间;例如:42580.3333333333
.
Pandas 是否提供了一种将该数字转换为常规数字的方法datetime
object?
好吧,我认为最简单的事情就是构建一个TimedeltaIndex
从浮点数并将其添加到标量日期时间1900,1,1
:
In [85]:
import datetime as dt
import pandas as pd
df = pd.DataFrame({'date':[42580.3333333333, 10023]})
df
Out[85]:
date
0 42580.333333
1 10023.000000
In [86]:
df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1900,1,1)
df
Out[86]:
date real_date
0 42580.333333 2016-07-31 07:59:59.971200
1 10023.000000 1927-06-12 00:00:00.000000
好吧,看来 Excel 的日期有点奇怪,谢谢@ayhan:
In [89]:
df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1899, 12, 30)
df
Out[89]:
date real_date
0 42580.333333 2016-07-29 07:59:59.971200
1 10023.000000 1927-06-10 00:00:00.000000
参见相关:如何将 python datetime.datetime 转换为 Excel 序列日期数字
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)