Как я могу извлечь и дополнительно проверить список дат из панд DatetimeIndex? - PullRequest
0 голосов
/ 30 сентября 2019

В этом Вопросе есть две части, которые я все еще изучаю.

date_list = pd.date_range(2019-09-24, 2019-09-26)

вернет объект

DatetimeIndex ( ['2019-09-24', '2019-09-25'] , dtype ='datetime64 [ns]', freq = 'D')

Однако я просто хотел, чтобы список в формате, который он возвращает, показан выше. Я попытался добавить .tolist () , но затем возвращает метки времени в списке, например.

Отметка времени ('2019-09-24 00:00:00', freq = 'D')

Затем я использовал .date который, кажется, работает

print(date_list[0])

2019-09-24

Это лучший метод для использования?

Затем я пришел к тестированию, я понимаю, что этот тест может быть ненужным, но с целью изучения:

def datetimeindex(dates):
    start = dates['from_date']
    end = dates['to_date']
    date_list = pd.date_range(start, end).date
    print(date_list[0])
    return date_list[0]


 def test_datetimeindex(self):
        dates = {"from_date": "2019-09-24",
                "to_date": "2019-09-27"}
        actual = datetimeindex(dates)
        expected = "2019-09-24"
        self.assertEqual(expected, actual)

Я получаю эту ошибку:

AssertionError: '2019-09-24 '! = Datetime.date (2019, 9, 24)

Почему печать отличается от обратной? Если я передам это другому методу, что он на самом деле передаст, 2019-09-24 или datetime.date (2019, 9, 24)?

Я не могу утверждать против datetime.date (2019, 9, 24) , поскольку это не строка, поэтому не знаете, что делать?

Спасибо

РЕДАКТИРОВАТЬ: Это вернуло то, что я хотел. который напомнил мне, что print () всегда является строкой, так что имеет смысл.

return str(date_list[0])
...