首页 > 解决方案 > 如何将其转换为日期时间

问题描述

我目前正在从 alpaca(股票交易平台)获取熊猫数据框。我得到的数据是分钟数据,给了我一个时间戳,不能转换为 DateTime 以使我的功能更容易。这是 AMZN 分钟数据的输出

                             open       high        low    
timestamp                                                                   
2019-08-08 14:12:00-04:00  1826.8600  1826.9649  1826.1026  
2019-08-08 14:13:00-04:00  1826.6500  1827.6520  1826.6500  

继承人的数据类型:

print(type(AMZN.index[0])) 
<class'pandas._libs.tslibs.timestamps.Timestamp'>

我正在尝试将此索引拆分为两列,其中日期是索引,时间(分钟和小时)是下一列。或者只是将其全部转换为日期时间格式也可以正常工作。

我试过找到类似的问题并使用 _datetime() 但它似乎不起作用。我有 datetime 库,但是当我使用其他帖子中的代码时,它似乎没有注册。

总的来说,我只是想找到一种简单的方法来在任何一天的特定时间进行迭代,而这种格式给我带来了麻烦。如果有人有更好的方法来处理这种类型的时间序列,请随时分享。

标签: pythonpandastime

解决方案


实际上Timestamp是 Pandas 中最容易操作的数据类型之一:

df['Date'] = df.index.date
df['Time'] = df.index.time
df = df.set_index(df['Date])

结果:

               open       high        low      Time
Date                                               
2019-08-08  1826.86  1826.9649  1826.1026  14:12:00
2019-08-08  1826.65  1827.6520  1826.6500  14:13:00

推荐阅读