Этот вопрос относительно близок к существующим ответам о извлечении строк, но мои данные имеют технические недостатки.Данные столбца df выглядят так:
Col1:
2909_10_2018
2909_14_2019
32_13_2019
4200_14_2018
4124__2019
Цель состоит в том, чтобы извлечь строку между двумя "_", за исключением того, что иногда нет строки.
Я пробовал несколько решений, опубликованных в похожихтемы без толку:
try:
df['Col2'] = re.search('.*abc_[^_]*', df.Col1)
except:
TypeError:
df['Col2'] = ''
Производит ""
try:
df['Col2'] = re.search('_(.*)_', df.Col1)
except:
TypeError:
df['Col2'] = ''
Производит ""
df['Col2'] = df.Col1.str.split("_", n = 1, expand = True)
Результаты в ValueError: Неверное количество пройденных элементов 2, размещениеподразумевает 1.
Каков хороший питонический способ извлечь текст между "_" при обработке пропусков?