#python-3.x #pandas #dataframe #machine-learning #feature-engineering
#python-3.x #pandas #фрейм данных #машинное обучение #разработка функций
Вопрос:
Итак, у меня есть столбец редакции, который содержит данные в неравномерном порядке, так как у некоторых есть ‘,’ за которым следует дата, а у некоторых есть шаблон ‘,-‘.
df.head()
17 Paperback,– 1 Nov 2016
18 Mass Market Paperback,– 1 Jan 1991
19 Paperback,– 2016
20 Hardcover,– 24 Nov 2018
21 Paperback,– Import, 4 Oct 2018
Как я могу извлечь дату в отдельный столбец. Я пытался использовать str.split(), но не могу найти конкретный шаблон для извлечения.Есть ли какой-либо способ, которым я мог бы это сделать?
Комментарии:
1.
obj.str.extract('((?:d sw s )?d{4}$)')
Ответ №1:
obj = df['Edition']
obj.str.split('((?:d s w s )?d{4}$)', expand=True)
или
obj.str.split('[,–] ').str[0]
obj.str.split('[,–] ').str[-1] # date
Ответ №2:
Попробуйте использовать dateutil
from dateutil.parser import parse
df['Dt']=[parse(i, fuzzy_with_tokens=True)[0] for i in df['column']]