Перевести дату в формат строки с кол-вом дней

В DataFrame есть столбец со значениями в следующем виде: 507 days 00:00:00.

Мне нужно, чтобы на выходе было значение просто 507. Попадалось .strftime(), но как применить его здесь не очень ясно.


Ответы (2 шт):

Автор решения: g10k

Если нужно вернуть только 507, то скорее это задача не string -> date, где нужен strptime, а просто парсинг строки. В таком случае, если во фразе всегда есть days подойдет: int(s.split('day')[0]) или чтобы исключить Exception в то будут две строки с проверкой результата split

res = s.split('day')
days = None if not len(res) else int(res[0])
→ Ссылка
Автор решения: MaxU

Попробуйте так:

df[“new”] = df[“timedelta”].dt.days

Если тип столбца строковый, то:

df[“new”] = pd.to_timedelta(df[“timedelta”]).dt.days
→ Ссылка