Шаблон для разделения столбца на основе регулярных выражений - PullRequest
0 голосов
/ 10 октября 2019

У меня есть фрейм данных, где каждая строка представляет полное имя и веб-сайт. Мне нужно разделить это на 2 столбца: имя и веб-сайт.

Я пытался использовать pandas str.split, но я изо всех сил пытаюсь создать шаблон регулярного выражения, который ловит любой начальный 'http' плюс остальныевеб-сайт. У меня есть веб-сайты, начинающиеся с http и https.

df = pd.DataFrame([['John Smith http://website.com'],['Alan Delon https://alandelon.com']])

Я хочу иметь шаблон, который правильно идентифицирует веб-сайт для разделения моих данных. Любая помощь будет очень ценится.

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Использование str.extract

Пример:

df = pd.DataFrame([['John Smith http://website.com'],['Alan Delon https://alandelon.com']], columns=["data"])
df[["Name", "Url"]] = df["data"].str.extract(r"(.*?)(http.*)")
print(df)

Выход:

                               data         Name                    Url
0     John Smith http://website.com  John Smith      http://website.com
1  Alan Delon https://alandelon.com  Alan Delon   https://alandelon.com
0 голосов
/ 10 октября 2019

с использованием str.split

 pd.DataFrame(df[0].str.split('\s(?=http)').tolist()).rename({0:'Name',1:'Website'}, axis=1)

Выход

         Name                Website
0  John Smith  http://website.com   
1  Alan Delon  https://alandelon.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...