Превращение объекта в ошибки с указанием даты и времени - PullRequest
0 голосов
/ 09 октября 2018

вопрос, состоящий из двух частей

Я пытаюсь преобразовать столбец в дату и время, это простая задача, которую я принимаю?как я делал это раньше на разных df, используя документацию без особых проблем.

  df = pd.DataFrame({'date' : ['24 October 2018', '23 April 2018', '18 January 2018']})
    print(df)
    date
0   24 October 2018
1   23 April 2018
2   18 January 2018

Я просматривал документы datetime и думал, что этот фрагмент кода преобразует этот столбец (который является объектом)в datetime

df.date =  pd.to_datetime(df['date'], format="%d-%m-%Y",errors='ignore')

, который выдает ошибку:

ValueError: time data '24 April 2018' does not match format '%d-%m-%Y' (match)

Я попытался поиграть с формулами и просмотреть документацию безрезультатно!

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Вы можете использовать pd.to_datetime или datetime библиотеку

import datetime as dt
df['date'].apply(lambda x: dt.datetime.strptime(x,'%d %B %Y'))
0 голосов
/ 09 октября 2018

Вы используете неправильный формат.'24 October 2018' использует format="%d %B %Y".Спецификаторы формата перечислены здесь .

edit: -Demo-

>>> import pandas as pd
>>> df = pd.DataFrame({'date':['24 October 2018', '23 April 2018', '18 January 2018']})
>>> df.date = pd.to_datetime(df['date'], format="%d %B %Y")
>>> 
>>> df
        date
0 2018-10-24
1 2018-04-23
2 2018-01-18
>>>
>>> df['date'][0]
Timestamp('2018-10-24 00:00:00')
>>> df['date'][0].month
10

edit 2: второй вопрос

>>> df['status'] = ['complete', 'complete', 'requested']
>>> df
        date     status
0 2018-10-24   complete
1 2018-04-23   complete
2 2018-01-18  requested
>>>
>>> df[df['status'] != 'complete']
        date     status
2 2018-01-18  requested
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...