В вашем CSV-файле нет дня, в который была взята информация, поэтому вам придется адаптировать код, чтобы « преобразовать все в миллисекунды с полуночи » желаемого дня.
dt = "2020-05-05 00:00:00.000000"
ESH5 Пример CSV-файл
Timestamp, Ticker, Side, Flags, Depth, Level1, ...
[000] 000000000, ESH5, BUY, 0, 10, 2035.00000000 x 7 (6),...
[001] 000000000, ESH5, SELL, 0, 10, 2035.25000000 x 7 (6),...
[002] 000000464, ESH5, BUY, 0, 10, 2035.00000000 x 9 (7),...
[003] 000000468, ESH5, BUY, 0, 10, 2035.00000000 x 9 (7),..
...
...
[287] 235959340, ESH5, BUY, 0, 10, 1996.25000000 x 16 (9),...
[288] 235959342, ESH5, BUY, 0, 10, 1996.25000000 x 16 (9),...
[289] 235959789, ESH5, SELL, 0, 10, 1996.50000000 x 17 (8),...
[290] 235959884, ESH5, SELL, 0, 10, 1996.50000000 x 17 (8),...
import numpy as np
from datetime import datetime
import pandas as pd
def fix_Timestamp(t):
t = str("{:09d}".format(t))
dt = "2020-05-05 {}:{}:{}.{}000".format(t[0:2], t[2:4], t[4:6], t[6:9])
dt64 = np.datetime64(dt)
ts = (dt64 - np.datetime64('1970-01-01T00:00:00Z')) / np.timedelta64(1, 's')
return datetime.utcfromtimestamp(ts)
df = pd.read_csv('data.csv')
print(df)
df['fixedTimestamp'] = df.Timestamp.apply(fix_Timestamp)
print(df['fixedTimestamp'])
Вывод из df['fixedTimestamp']
0 2020-05-05 00:00:00.000
1 2020-05-05 00:00:00.000
2 2020-05-05 00:00:00.464
3 2020-05-05 00:00:00.468
4 2020-05-05 00:00:00.468
...
286 2020-05-05 23:59:59.340
287 2020-05-05 23:59:59.340
288 2020-05-05 23:59:59.342
289 2020-05-05 23:59:59.789
290 2020-05-05 23:59:59.884
Name: fixedTimestamp, Length: 291, dtype: datetime64[ns]