Я хотел бы проверить, что строки в моем столбце pandas соответствуют указанному шаблону c. Я хочу сделать это с помощью функции check_pattern и регулярного выражения. Данные должны состоять только из цифр, за исключением того, что после первых двух цифр стоит da sh. Правильное значение будет 08-15643. Неправильные значения могут быть, например, 07-456d, 04-47897-1, 084564 и т. Д. c.)
Пожалуйста, посмотрите на данные и мой код:
df = pd.DataFrame(str_list)
str_list = ['19-123', '08-156445787', '08-156468787-1']
df.rename(columns={df.columns[0]: "Strings" }, inplace = True)
def check_pattern(Strings):
is_correct_pattern = False
pattern = re.compile("^[0-9]{2}'-'[0-9]")
if pattern.match(Strings) == True:
is_correct_pattern = True
return is_correct_pattern
df['Correct_pattern'] = df['Strings'].apply(lambda x: check_pattern(x))
Мой вывод должен быть исходным фреймом данных df с дополнительным столбцом Correct_Pattern. С данными df, результат должен быть True, True, False для этого столбца. Если у вас есть другая идея для решения этой проблемы, мне также интересно :)