У меня есть некоторые данные, которые я извлекаю из API, и дата отформатирована так: '1522454400000'
Не знаю, как ее проанализировать, но это то, что я пробовал (безуспешно пытался)
df = DataFrame(test)
df.columns = ['Date', 'Open', 'High', 'Low', 'Close', 'Volume']
df.set_index('Date')
df.index = pd.to_datetime(df.index, unit = 'd')
где переменная test
представляет собой список базовых данных.это неправильно анализирует данные за 1970 год.
Результат анализа:
1970-01-01 00:00:00.000000000
Есть идеи?
********************** РЕДАКТИРОВАТЬ ************************************
Версия Python: 3
Версия Pandas.0.23.0
Вот рабочий пример воспроизводимости.Но сначала, вот факты, которые я обнаружил.
ФОРМАТ ДАТЫ: 64-битная метка времени Unix в миллисекундах с начала эпохи 1 января 1970
TIMEZONE: UTC
МОЯ TIMEZONE:UTC + 4 (требуемый индекс даты и времени)
Код:
import bitmex
import pandas as pd
from pandas import DataFrame
import datetime
import ccxt
api_connector = ccxt.bitmex({
'enableRateLimit': True
})
#get OHLCV Data
testdata = api_connector.fetch_ohlcv('XBTZ18', '1h')
df2 = DataFrame(testdata)
df2.columns = ['Date', 'Open', 'High', 'Low', 'Close', 'Volume']
#df2.set_index('Date')
df2.index = pd.to_datetime(df2.Date, unit='ms')
df3 = df2.drop(['Date'],
axis =1)
df3.tail()
Возвращает:
Open High Low Close Volume
Date
2018-07-06 00:00:00 6538.5 6555.0 6532.5 6537.0 176836
2018-07-06 01:00:00 6537.0 6535.5 6520.5 6524.5 139735
2018-07-06 02:00:00 6524.5 6542.5 6525.5 6542.5 59759
2018-07-06 03:00:00 6542.5 6545.0 6538.0 6538.0 121410
2018-07-06 04:00:00 6538.0 6538.5 6477.5 6525.0 764125
Закрыть!но без сигарыСегодняшняя дата - 31.08.2008, поэтому я бы, по крайней мере, ожидал, что она будет в правильном месяце.
Что я делаю не так, ребята?