Извлечение части строки в фрейм данных - PullRequest
0 голосов
/ 22 марта 2019

У меня есть фрейм данных, который имеет строки, как показано ниже в одном столбце:

__label__JCB_Spare_Part __label__Differential_Housings jcb casting assy differential housing __label__Vibrating_Roller __label__Road_Roller double drum mini roller seat drive model fyl engine nbsp hp aircolled diesel engine wheel size walk speed km climbing capacity drive hydrostatic drive nbsp nbsp __label__Vibrating_Roller __label__Road_Roller double drum mini roller seat drive model fyl engine nbsp hp aircolled diesel engine wheel size walk speed km climbing capacity drive hydrostatic drive nbsp nbsp __label__Crawler_Dozer __label__Bulldozer dozer bulldozer __label__Crawler_Dozer __label__Bulldozer dozer bulldozer

Я хочу извлечь все слова с префиксом, равным __label__, в отдельном столбце, как показано ниже: __label__JCB_Spare_Part __label__Differential_Housings __label__Vibrating_Roller __label__Road_Roller __label__Vibrating_Roller __label__Road_Roller __label__Crawler_Dozer __label__Bulldozer __label__Crawler_Dozer __label__Bulldozer

Что я пробовал: labels = input[0].str.extract(r'(__label__[\w]+)') но он вытаскивает только одну первую этикетку.

Ответы [ 2 ]

1 голос
/ 22 марта 2019

Ваш код в основном правильный;просто вместо этого вы хотите findall:

labels = input[0].str.findall(r'(__label__[\w]+)')
0 голосов
/ 22 марта 2019

Вы можете попробовать это:

import re

str = """
__label__JCB_Spare_Part  __label__Differential_Housings jcb  casting  assy  differential  housing
__label__Vibrating_Roller  __label__Road_Roller double  drum  mini  roller  seat  drive  model  fyl  engine  nbsp  hp  aircolled  diesel  engine  wheel  size  walk  speed  km  climbing  capacity  drive  hydrostatic  drive  nbsp  nbsp
__label__Vibrating_Roller  __label__Road_Roller double  drum  mini  roller  seat  drive  model  fyl  engine  nbsp  hp  aircolled  diesel  engine  wheel  size  walk  speed  km  climbing  capacity  drive  hydrostatic  drive  nbsp  nbsp
__label__Crawler_Dozer  __label__Bulldozer dozer  bulldozer
__label__Crawler_Dozer  __label__Bulldozer dozer  bulldozer
"""

result = re.findall('__label__\w+', str)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...