Как извлечь числа из сложной строки в большом python фрейме данных - PullRequest
1 голос
/ 16 января 2020

У меня есть python фрейм данных с 1M строк. Есть строковый столбец с некоторыми числами, такими как

 String_Col

 24FT String
 String 24FT
 2 String 20FT
 20 String 3

Мне нужно извлечь 24,24,20,20 из этого столбца и сохранить его как новый столбец. Я могу перебрать каждую ячейку и выполнить преобразование строки, но это занимает много времени для большого набора данных.

Любые идеи приветствуются.

1 Ответ

1 голос
/ 16 января 2020

Вы можете использовать regex для сопоставления с шаблоном

import re

def func(x):
    result = re.findall(r"\d+(?=FT)",x)
    if not result:
        try:
            return int(x[:2])
        except:
            return None
    return result[0]

df["num_col"] = df["String_Col"].apply(func)

Если вы хотите точно 2 цифры до FT, используйте re.findall(r"\d{2}(?=FT)",x)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...