Я пытаюсь заменить определенные части строки методом pandas.Series.str.replace (), используя regex для определения частей, которые я хочу изменить, в соответствии с документами, которые вы можете использовать регулярными выражениями и даже re.компилировать объекты.Я просто не могу понять, что я делаю неправильно, но мне кажется, что я стираю полностью, а не заменяю части строки.
Итак, в моем DataFrame, скажем, у меня есть столбец с именем ['date'], который отформатирован следующим образом:
'2016-03-26 17:47:46'
Я просто хочу получить тире, пространство и время(оставляя 8 цифр в качестве даты) - затем замените их на '', надеюсь, оставив 20160326, поэтому я создаю объект re.compile, который захватывает их:
re_express = re.compile('[\d]{4}(.)[\d]{2}(.)[\d]{2}(.*)')
Затем я пытаюсь заменить их следующей строкой:
df['date'] = df['date'].str.replace(re_express,'')
К сожалению, это просто полностью удаляет дату, оставляя '' в моем столбце ['date'].Эти объекты re.compile принимаются в соответствии с документами, если бы я использовал re.findall (), тогда эта строка регулярного выражения захватила бы части, которые я хочу с этой даты, поэтому я могу только предположить, что я не могу использовать их таким же образом в этом методе.Есть ли какие-то настройки, которые я могу сделать, чтобы сделать эту работу?