Как избавиться от предупреждения "DeprecationWarning generator' ngrams ' raised StopIteration"
во время работы над блокнотом Kaggle я столкнулся с проблемой. Следующий блок кода:
from nltk import ngrams
def grams(tokens):
return list(ngrams(tokens, 3))
negative_grams = preprocessed_negative_tweets.apply(grams)
в результате появился красный ящик со словами
/opt/conda/bin/ipython:5: DeprecationWarning: generator 'ngrams' raised StopIteration
переменная preprocessed_negative_tweets
- это фрейм данных Pandas, содержащий токены.
кто-нибудь знает, как это сделать?
(весь доступный ноутбук здесь)
2 ответов
для тех, кто не хочет или не может подавить предупреждение.
это происходит потому, что ngrams
воспитывает StopIteration
исключение для завершения генератора, и это устарело от Python 3.5.
вы можете избавиться от предупреждения, изменив код, где генератор останавливается, поэтому вместо повышения StopIteration
вы просто используете ключевое слово Python return
.
на: PEP 479
Если вы просто хотите успокоить все предупреждения, вы можете сделать:
import warnings
warnings.filterwarnings('ignore')
мы должны прислушаться к этим предупреждениям...