Убрать скобки из результата регулярных выражений в пандах - PullRequest
0 голосов
/ 26 января 2019

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

>>> df['Name'][0]
'BTC  Bitcoin'

Я хочу создать столбец, используя регулярное выражение, которое ищет 3-5 заглавных букв, за которыми следуют два пробела.Затем я использую .split (), чтобы оставить нас только с символом.Это формула регулярного выражения, которую я использовал:

symbols = []

for i in df['Name']:
    symbols.append(re.search(r"[A-Z]{3,5}\s\s", i).group().split())

df['Symbol'] = symbols

Это мой результат:

>>> df['Symbol'][0]
['BTC']

Как получить такой же результат, но без скобок?

1 Ответ

0 голосов
/ 26 января 2019

Причина, по которой вы получаете ['BTC'], заключается в том, что ваше выражение re.search(r"[A-Z]{3,5}\s\s", i).group().split() приводит к объекту list, для вашего примера это ['BTC'], а затем вы добавляете его в пустой список symbols, который вы определиливне вашего цикла for.

Следовательно, ваш список symbols содержит что-то вроде [['BTC'], ['ETH'], ['BLA']].

Если вы хотите избежать этого, просто измените выражение на

symbols.append(re.search(r"[A-Z]{3,5}\s\s", i).group().split()[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...