Как преобразовать дату Excel в формате MMM-YYYY в дату или время? - PullRequest
0 голосов
/ 10 сентября 2018

Мой фрейм данных берется из файла Excel, который форматирует их даты, например, январь 2018.

Я хочу изменить дату и время, например, 01-2018 или даже строку типа 01 / 2018.

У меня две проблемы:

  1. При попытке конвертировать в дату и время у меня появляется ошибка вне границы (наносекунда)

    twoyear_df['Date'] = twoyear_df['Date'].apply(lambda x: pd.to_datetime(x).strftime('%m/%Y'))
    
  2. Когда я пытаюсь преобразовать их в строки с помощью этого:

    twoyear_df['Date'] = pd.to_datetime(twoyear_df['Date'], format='%m%Y')
    

Я получаю

ValueError: time data 'Sep 18' does not match format '%m%Y' (match)

Что делать? Кажется, что я не могу перейти на datetime из-за проблемы наносекунды, и я не могу изменить его на строку, потому что я не могу изменить его datetime?

Я не уверен, как предоставить набор данных в качестве примера. Я положу образец здесь

         Date  Price   Open   High    Low Change %
0  Sep 18  2.707  2.637  2.711  2.629    2.95%
1  Aug 18  2.629  2.669  2.686  2.587   -1.68%
2  Jul 18  2.674  2.524  2.690  2.508    5.61%
3  Jun 18  2.532  2.431  2.602  2.427    3.94%
4  May 18  2.436  2.492  2.598  2.299   -2.25%
5  Apr 18  2.492  2.278  2.508  2.234    9.78%
6  Mar 18  2.270  2.254  2.366  2.197    0.53%
7  Feb 18  2.258  2.157  2.286  1.947    5.07%
8  Jan 18  2.149  1.907  2.165  1.891   13.88%
9  Dec 17  1.887  1.790  1.927  1.746    5.42% 

Я избегаю использования NaT, так как мне нужно провести анализ временных рядов. У меня такое ощущение, что у всех дат, сохраненных в Excel, есть проблема наносекунды. Есть ли способ обойти или просто полностью его убрать?

1 Ответ

0 голосов
/ 10 сентября 2018

Мне удалось успешно решить свой вопрос. Спасибо за Ваш интерес. Если есть какие-то лучшие решения, я все уши

twoyear_df['Date'] = pd.to_datetime(twoyear_df['Date'], format='%b %y')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...