Я новичок в кодировании, и я обычно использую R для этого (stringr), но я начал изучать и синтаксис Python.
У меня есть фрейм данных с одним столбцом, сгенерированным из импортированного файла Excel.Значения в этом столбце содержат как прописные, так и строчные буквы, символы и цифры.
Я хотел бы создать второй столбец во фрейме данных, содержащий только некоторые из этих слов, включенных в первый столбец, в соответствии с шаблоном регулярных выражений..
df = pd.DataFrame(["THIS IS A TEST 123123. s.m.", "THIS IS A Test test 123 .s.c.e", "TESTING T'TEST 123 da."],columns=['Test'])
df
Теперь, чтобы извлечь то, что я хочу (слова в заглавном регистре), в RI обычно используется:
df <- str_extract_all(df$Test, "\\b[A-Z]{1,}\\b", simplify = FALSE)
, чтобы извлечь совпадения регулярного выражения в разных данных.строки кадра:
* THIS IS A TEST
* THIS IS A
* TESTING T TEST
Я не смог найти аналогичное решение для Python, и самое близкое, что я должен сделать, это следующее:
df["Name"] = df["Test"].str.extract(r"(\b[A-Z]{1,}\b)", expand = True)
К сожалению, это делаетне работает, так как он экспортирует только группы , а не соответствует регулярного выражения.Я перепробовал несколько стратегий, но также str.extractall
не работает («TypeError: несовместимый индекс вставленного столбца с индексом фрейма)
Как извлечь нужную информацию с помощью Python?
Спасибо!