Я читаю csv с датами без данных часового пояса, но как только я использую столбец datetime в качестве индекса, добавляется (n неправильное) смещение часового пояса. Как я могу предотвратить это?Установка datetime64 в качестве индекса dataframe для pandas автоматически добавляет смещение временной зоны
Данные:
Time (UTC),Open,High,Low,Close,Volume
2005.01.03 00:00:00,1.8275,1.858,1.7971,1.819,41998.5
2005.01.10 00:00:00,1.8095,1.8376,1.771,1.766,46353.9
Это еженедельные данные OHLC.
import pandas as pd
df = pd.read_csv("test.csv", parse_dates=["Time (UTC)"])
После считывания данных, нет смещения часовых поясов:
in:
df["Time (UTC)"].head(2)
out:
0 1973-02-26
1 1973-03-05
Name: Time (UTC), dtype: datetime64[ns]
Но когда я установил эти данные в индексе смещение часового пояса добавляется:
in:
df.index = df["Time (UTC)"]
df.index.values[:1]
out:
array(['1973-02-26T01:00:00.000000000+0100'], dtype='datetime64[ns]')
использованием df.index
, Я верну это dtype='datetime64[ns]'
, так что добавлен часовой пояс, хотя добавлен добавленный часовой пояс (что, кстати, похоже, тоже летнее время). Если я установил часовой пояс в UTC с df = df.tz_localize("UTC")
, df.index
показывает мне dtype = 'datetime64[ns, UTC]'
. Однако это не влияет на смещения.
Поскольку я знаю, в какой временной зоне находятся данные, мне не требуется смещение по часовой стрелке, а тем более неправильное, возможно, основанное на часовом поясе машин. Я бы предпочел, чтобы столбец [Time (UTC) »] был указан как индекс при использовании pd.read_csv по причинам производительности, но при этом я получаю такое же поведение.
Как я могу предотвратить смещение часового пояса при добавлении или установить правильный?
Моя версия python - 2,7.11 (Anaconda 2.5.0 64 бит), версия pandas - 0.17.1, numpy 1.10.4.