Как анализировать объекты Timezone Datetime с помощью Pandas

#python-3.x #pandas #python-datetime

#python-3.x #pandas #python-datetime

Вопрос:

Итак, довольно просто: иметь столбцы с такими датами: «2000-05-30 17:27:00-05:00»

     data                   open high    low close
0   2000-05-30 17:27:00-05:00   0.9302  0.9302  0.9302  0.9302
1   2000-05-30 17:35:00-05:00   0.9304  0.9305  0.9304  0.9305
2   2000-05-30 17:38:00-05:00   0.9304  0.9304  0.9303  0.9303
3   2000-05-30 17:43:00-05:00   0.9301  0.9301  0.9300  0.9300
4   2000-05-30 17:44:00-05:00   0.9298  0.9298  0.9297  0.9297
  

Я попробовал пользовательский анализатор:

 custom_parser = lambda x: datetime.strptime(x, "%Y-%m-%d %H:%M:%S-%z")
data = pd.read_csv('eurusd_2.csv', parse_dates=[0], date_parser=custom_parser, parse_dates=True)
  

но это не работает; Я думаю, это связано с «:» в часовом поясе «-05:00» — какие-либо решения для этого?

Есть ли способ указать формат часового пояса, аналогичный тому, как указывается формат года / месяца / дня?

Заранее большое спасибо,

C

Ответ №1:

Простой:

 df = pd.read_csv('file.csv', parse_dates=['data'], sep='ss ')
  

кажется, работает. df['data'] это:

 0   2000-05-30 17:27:00-05:00
1   2000-05-30 17:35:00-05:00
2   2000-05-30 17:38:00-05:00
3   2000-05-30 17:43:00-05:00
4   2000-05-30 17:44:00-05:00
Name: data, dtype: datetime64[ns, pytz.FixedOffset(-300)]
  

Возможно, ваши данные содержат некоторые нарушения.