Мой фрейм данных возвращает 0 строк, но при использовании фильтров в электронной таблице Excel отображаются строки - PullRequest
0 голосов
/ 15 января 2019

Мой фрейм данных не возвращает строки в соответствии с фильтром даты, но когда я открываю один и тот же файл в электронной таблице Excel и использую фильтры, я могу получить данные. Что я делаю не так?

Заявки на 2018 год, вышедшие в 2017 году

import pandas as pd
#import matplotlib.pyplot as plt 

df4 = pd.read_csv('report1547464798320.csv')  

#displaying all the 2018 applications
df4['Date Applied'] = pd.to_datetime(df4['Date Applied'])

start_date = '2017-01-01'
end_date = '2017-12-31'

mask = (df4['Date Applied'] >= start_date) & (df4['Date Applied'] <= end_date)

df4 = df4.loc[mask]

Я должен получить более 1300 записей из этого выполнения.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Вы можете сначала разобрать даты, чтобы гарантировать:

import dateutil as du

start_date = du.parser.parse('2017-01-01', dayfirst=False)
end_date = du.parser.parse('2017-12-31', dayfirst=False)

Параметр dayfirst означает:

  • Следует ли интерпретировать первое значение в неоднозначной трехзначной дате (например, 01/05/09) как день (True) или месяц (False). Если yearfirst установлен в True, это различает YDM и YMD. По умолчанию установлено значение False.

В этом случае было необязательным, потому что по умолчанию установлено значение False, но только для того, чтобы показать вам, что вы можете различать YDM и YMD.

Вот документы о: ссылка

0 голосов
/ 17 января 2019

Мне удалось решить мои проблемы с этим файлом, единственное, что я сделал, это скопировал код, который я использовал для файла, где диапазон дат был с января 2018 по декабрь 2018, который работал нормально, и вставил в этот файл, с указанным выше диапазоном дат, не уверен, что могло быть проблемой с моим первым копированием и вставкой. Однако спасибо за помощь от всех, кто внес вклад

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...