Python фильтрация данных на основе сравнения дат - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь отфильтровать мой фрейм данных по дате. Дата, импортированная из CSV, указана в строке. поэтому я создал новый столбец с датой в формате «Timestamp». Затем я хотел сравнить с конкретной датой, однако я получаю следующую ошибку

  • TypeError: '>' не поддерживается между экземплярами 'list' и 'Timestamp'

Вот мой код

import pandas as pd
data = [['agent_1','2019-06-27 15:35:49'],['agent_2','2029-06-27 15:35:49'],['agent_3','2019-04-27 15:35:49'],['agent_4','2029-06-27 15:35:49'],['agent_5','2019-02-27 15:35:49']]
MasterData = pd.DataFrame(data,columns=['Agents','timeCreated'])
MasterData['timeCreatedUpdated'] = pd.to_datetime(MasterData['timeCreated'],format='%Y-%m-%d %H:%M:%S')
MasterData.dtypes
datetime_object2 = pd.Timestamp(2019,8,1,12)
MasterData(['timeCreatedUpdated']>datetime_object2)

Ответы [ 3 ]

0 голосов
/ 19 апреля 2020

Монди - вы все сделали правильно, только небольшая коррекция в последней строке

Использование MasterData[MasterData["timeCreatedUpdated"] > datetime_object2] вместо MasterData(['timeCreatedUpdated']>datetime_object2)

MasterData["timeCreatedUpdated"] > datetime_object2 сделает для вас основное сравнение и вернет логическое значение (True / False), теперь мы снова переносим ответ в DF, чтобы получить значения MasterData[MasterData["timeCreatedUpdated"] > datetime_object2]

0 голосов
/ 19 апреля 2020

Попробуйте:

print(MasterData[MasterData['timeCreatedUpdated'] >pd.Timestamp(2019,8,1,12)]) 
0 голосов
/ 19 апреля 2020

Последняя строка должна быть отредактирована:

MasterData[MasterData['timeCreatedUpdated']>datetime_object2]
...