Более быстрый способ использования регулярных выражений для извлечения хэштегов из твитов - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть фрейм данных pandas с деталями 1 миллиона твитов, включая сам твит и различные другие атрибуты.Я пытаюсь извлечь список хэштегов из твитов.Важно, чтобы этот список по-прежнему ассоциировался с каждым твитом, а не был списком хэштегов во всех твитах.

Количество твитов, которые у меня есть, означает, что запуск займет несколько часов / дней.Есть ли альтернатива использованию iterrows на моем фрейме данных pandas, как я уже пробовал?

def extracthash(x):
    for index, row in tweets_scored.iterrows():
    tweets_scored.loc[:,"Hashtags"]= tweets_scored.text.str.find(r'#.*?(?=\s|$)')
    return tweets_scored

tweets_scored.apply(extracthash, axis=1)

Это то, к чему я стремлюсь, и код работает, если я беру подмножество только небольшого числа строк вмой фрейм данных.

text                                    hashtag list

I like #cheese and #flour        [#cheese, #flour] 

He eats #bread                            [#bread]

Любая помощь искренне приветствуется!Спасибо

1 Ответ

0 голосов
/ 02 февраля 2019

Я использую этот маленький цикл для аналогичной ситуации (НЛП на твитах), чтобы извлечь хэштег и ссылки на твит.Это быстро и просто.Надеюсь, это поможет:

import re
tHash = []
tAt = []
for item in tweets:
    if re.search('^@.*', item):
       tAt.append(item)

    if re.search('^#.*', item):
       tHash.append(item)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...