Я храню объекты даты и времени без информации о часовом поясе в кадре данных pandas. При получении информации о метке времени метка времени отличается от метки, полученной из исходного объекта datetime.
import pandas as pd
from datetime import datetime
dt = datetime.now()
print(dt)
print(dt.timestamp())
df = pd.DataFrame(data=[(dt)],columns=["date"])
print(df)
epoche_from_pandas = df.date.apply(lambda x: x.timestamp()).values[0]
print(epoche_from_pandas)
Печать кадра данных pandas показывает ту же строку datetime, но значение периода отличается. Обе временные метки сдвигаются на 3600 секунд, что эквивалентно разнице моего местного часового пояса (+1 час).
2020-03-20 01: 05: 05.457290
1584662705.45729
2020-03-20 01: 05: 05.457290
1584666305.45729
Я предполагаю, что pandas использует свое собственное внутреннее представление, которое игнорирует значение эпохи (может быть создано с использованием компонентов год, месяц, день, час ...) и печатает за unix время ( не локализовано). Это означало бы, что в то время как оба оператора печати приводят к одной и той же строке, время pandas фактически на 1 час вперед, поскольку оно отражает unix, которое обычно отстает на 1 час.
Верно ли указанное выше?