Мне удалось извлечь список слов с веб-сайта и сохранить их в словаре.
Примечание: На самом деле, вы сохранили их в кадре данных.
Вы можете использовать isin
. В основном вы хотите получить строки, в которых слово в столбце 'Palabras'
находится в вашем списке стоп-слов. Поэтому вам просто нужно отфильтровать эти строки, а затем использовать противоположные из тех, которые используют ~
. А так как он уже отсортирован, просто используйте .head(500)
tabla = tabla[~tabla['Palabras'].isin(prep)].head(500)
Кроме того, поскольку html содержит теги table
, я хотел бы рассмотреть возможность использования pandas .read_html()
, так как он использует BeautifulSoup под капотом , но делает тяжелую работу для вас. Ваш код может быть значительно сокращен:
Полный код, те же результаты:
import nltk
import pandas as pd
#nltk.download()
from nltk.corpus import stopwords
prep = stopwords.words('spanish')
print(prep)
tabla_beta = pd.read_html(wiki_url)[0]
tabla_beta.columns = ["Núm. orden", "Palabras", "Frecuencia"]
tabla_beta = tabla_beta[~tabla_beta['Palabras'].isin(prep)].head(500)