Как фильтровать и извлекать определенные теги POS из столбца DataFrame, содержащего списки кортежей в Python?Python

Программы на Python
Ответить
Anonymous
 Как фильтровать и извлекать определенные теги POS из столбца DataFrame, содержащего списки кортежей в Python?

Сообщение Anonymous »

Я работаю с DataFrame в Python, в котором есть столбец с именем «POS_TAGS». Каждая запись в этом столбце представляет собой список кортежей, где каждый кортеж содержит слово и его тег части речи (POS). Вот пример структуры данных в столбце «POS_TAGS»:

Код: Выделить всё

[
    [('word1', 'NN'), ('word2', 'VB'), ('word3', 'NN')],
    [('word4', 'JJ'), ('word5', 'NN')],
    ...
]
Я хотел бы извлечь из этого столбца все слова, имеющие определенный тег POS (например, «NN» для существительных) и сохранить их в списке. Как я могу сделать это эффективно?
Я пытался использовать понимание списков, но не уверен, что подхожу к этому правильно и эффективно.
Попытка кода

Код: Выделить всё

# Example code attempt
target_tag = 'NN'
all_words_with_target_tag = [
    word for row in df['POS_TAGS'] for word, tag in row if tag == target_tag
]
Это правильный подход? Существуют ли лучшие методы решения задач такого рода, особенно если DataFrame большой? Будем признательны за любые рекомендации по оптимизации или объяснению использования функции распознавания списков!


Подробнее здесь: https://stackoverflow.com/questions/791 ... containing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»