Панды устанавливают дату и время первого дня месяца, если пропущенный день? - PullRequest
0 голосов
/ 02 июля 2019

Когда я использовал Pandas для преобразования моей строки даты и времени, она устанавливает первый день месяца, если день отсутствует.

Например:

   pd.to_datetime('2017-06')

   OUT[]: Timestamp('2017-06-01 00:00:00')

Можно ли использовать 15-й (средний) день месяца?

РЕДАКТИРОВАТЬ:

Я хочу использовать только 15-й день, если он отсутствует, в противном случае используйте фактическую дату, поэтому смещение всех значений на 15 не сработает.

1 Ответ

0 голосов
/ 02 июля 2019

Хотя это невозможно при реальном вызове, вы всегда можете использовать сопоставление с регулярным выражением, чтобы выяснить, содержит ли строка дату, и действовать соответствующим образом. Примечание: этот код работает только при использовании разделенных знаком '-' дат:

import re
date_str = '2017-06'
if (not bool(re.match('.+-.+-.+',date_str))):
    pd.to_datetime(date_str).replace(date=15)
else:
    pd.to_datetime(date_str)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...