【发布时间】:2016-01-15 11:08:53
【问题描述】:
我正在读取具有以下结构的 Excel 文件:
A B
2015-09-05 15:05:32
2015-09-05 19:05:02
我正在阅读这个文件
df = pd.ExcelFile(filename).parse(..)
当我查看此 DataFrame 的 dtype 时,我可以看到日期被正确解析为 datetime64 对象,但时间不是:
>>> df.dtypes
A datetime64[ns]
B object
奇怪的是,当我查看B 的内容时,我发现它们都是datetime.time 对象
[s for s in main_df['B'].tolist() if type(s) is not datetime.time]
# There are no values that are *not* datetime.time objects
我想将此B 列转换为我可以更方便地使用的内容。例如,我想先使用MultiIndex,然后使用时间(以便我可以分组和汇总)。或者我想加入两者,这样我就有一个单独的列,即完整的日期。
但在这一点上,我被困住了。我尝试将它们转换为datetime:
main_df['B'] = main_df['B'].astype('datetime64')
ValueError: Could not convert object to NumPy datetime
有什么想法吗?
【问题讨论】:
标签: python datetime pandas time-series