Я работаю с 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