Мне нужна помощь для извлечения уникальных строк в отдельный столбец.
df = pd.DataFrame({'File Name':['90.12.21 / 02.05 / XO3 File Name Type',
'10.22.43 / X.89 / XO20G9992 Document Internal Only',
'Phase 3',
'22.32.42.12 / 99.23 / XO2 Location Site 3: Park Triangle',
'38.23.99.22 / X.23 / XO28W9998 Block 4 Beach/Dock Camp',
'39.24.32.49 / 37.29 / Blue-print/Register Info Site (RISs)',
'23.21.53.32 / Q.21 / XO R9924 Location Place 5: Drive Place (Active)',
' 33.51.63.33 / X.21 / XO20W8812 Area Place 1: Beach Drive']})
Вот как выглядит в настоящее время информационный фрейм:
| File Name |
|----------------------------------------------------------------------|
| 90.12.21 / 02.05 / XO3 File Name Type |
| 10.22.43 / X.89 / XO20G9992 Document Internal Only |
| Phase 3 |
| 22.32.42.12 / 99.23 / XO2 Location Site 3: Park Triangle |
| 38.23.99.22 / X.23 / XO28W9998 Block 4 Beach/Dock Camp |
| 39.24.32.49 / 37.29 / Blue-print/Register Info Site (RISs) |
| 23.21.53.32 / Q.21 / XO R9924 Location Place 5: Drive Place (Active) |
| 33.51.63.33 / X.21 / XO20W8812 Area Place 1: Beach Drive |
Вот как мне нужно, чтобы он выглядел:
| File Name |
|----------------------------------------|
| File Name Type |
| Document Internal Only |
| |
| Location Site 3: Park Triangle |
| Block 4 Beach/Dock Camp |
| Blue-print/Register Info Site (RISs) |
| Location Place 5: Drive Place (Active) |
| Area Place 1: Beach Drive |
Вот мое попытанное решение:
Я знаю, что str.extract(r'')
извлечет выражение Regex в новый столбец. Я также знаю, что в Regex «положительный взгляд назад» выберет все, что я хочу, в конце строки. Поэтому я создал положительное выражение для выражения Regex, которое захватывает большинство нужных мне строк: https://regexr.com/4t4ll. Это все еще не идеальное решение.
Но даже когда я пытаюсь извлечь свои выборы, используя эту строку кода: df['File Name'].str.extract(r'((?<=\/ XO\d |XO\d[0-9]\w\d\d\d\d | XO \w\d\d\d\d ).*)')
, я получаю сообщение об ошибке: «для просмотра требуется шаблон фиксированной ширины».
Мне нужна помощь, чтобы выяснить, как заставить работать выражение Regex в str.extract(r'')
и как я могу заставить свое выражение Regex захватывать все строки, которые появляются в конце каждой записи?