【发布时间】:2020-12-31 01:48:35
【问题描述】:
我正在尝试使用 pandas 数据框从我从 TD Ameritrade 的 API 中提取的股票价格数据创建时间序列可视化。为了做到这一点,我一直在尝试将我的数据框的datetime 列中的时间戳转换为日期时间对象。这样,我可以将 datetime 列设置为新索引,并使用格式清晰的 x 轴进行可视化。
open high low close volume datetime
0 336.89 336.90 336.69 336.77 26232 1599822000000
1 336.90 337.05 336.69 336.92 13180 1599822300000
2 336.98 337.24 336.98 337.23 31810 1599822600000
3 337.01 337.25 337.00 337.15 8749 1599822900000
4 337.10 337.10 336.70 336.70 9664 1599823200000
.. ... ... ... ... ... ...
我已经尝试通过thread 中的建议来实现这一点,但无济于事。我也尝试过使用以下代码:
df['adj_datetime'] = pd.to_datetime((df['datetime']/1000))
但是,结果是这样的:
open high ... datetime adj_datetime
0 336.89 336.90 ... 1599822000000 1970-01-01 00:00:01.599822000
1 336.90 337.05 ... 1599822300000 1970-01-01 00:00:01.599822300
2 336.98 337.24 ... 1599822600000 1970-01-01 00:00:01.599822600
3 337.01 337.25 ... 1599822900000 1970-01-01 00:00:01.599822900
4 337.10 337.10 ... 1599823200000 1970-01-01 00:00:01.599823200
.. ... ... ... ... ...
这不是我要寻找的结果,因为 1.) 此数据来自 2020-09-11 和 2.) 这不是延长时间的交易数据,因此上午 12:01 不是合适的时间。
我们将不胜感激任何建议、反馈或其他资源!
【问题讨论】:
-
这些看起来像 Javascript 时间戳(自 1970-01-01T00:00:00 UTC 以来的毫秒数)。但是所有时间都以 1000 秒为模四舍五入,这真的很奇怪。询问提供您数据的人。无论如何,您可能需要将这些转换为正确的时区;他们可能在 UTC。
标签: python pandas dataframe datetime time-series