웹 사이트에서 단어 목록을 추출하여 데이터 프레임에 저장했습니다 . 이제 필요한 것은 "Palabras"열에서 이러한 단어 중 일부를 제거하고 처음 500 개의 레코드 만 유지하는 것입니다.
이것은 지금까지 내 코드입니다.
import requests
wiki_url = "https://es.wiktionary.org/wiki/Wikcionario:Frecuentes-(1-1000)-Subt%C3%ADtulos_de_pel%C3%ADculas"
wiki_texto = requests.get(wiki_url).text
from bs4 import BeautifulSoup
wiki_datos = BeautifulSoup(wiki_texto, "html")
wiki_filas = wiki_datos.findAll("tr")
print(wiki_filas[1])
print("...............................")
wiki_celdas = wiki_datos.findAll("td")
print(wiki_celdas[0:])
fila_1 = wiki_celdas[0:]
info_1 = [elemento.get_text() for elemento in fila_1]
print(fila_1)
print(info_1)
info_1[0] = int(float(info_1[0]))
print(info_1)
print("...............................")
num_or = [int(float(elem.findAll("td")[0].get_text())) for elem in wiki_filas[1:]]
palabras = [elem.findAll("td")[1].get_text().rstrip() for elem in wiki_filas[1:]]
frecuencia = [elem.findAll("td")[2].get_text().rstrip() for elem in wiki_filas[1:]]
print(num_or[0:])
print(palabras[0:])
print(frecuencia[0:])
from pandas import DataFrame
tabla = DataFrame([num_or, palabras, frecuencia]).T
tabla.columns = ["Núm. orden", "Palabras", "Frecuencia"]
print(tabla.head())
print(tabla)
print("...............................")
import nltk
nltk.download()
from nltk.corpus import stopwords
prep = stopwords.words('spanish')
print(prep)
그래서 제가 필요한 것은이 코드에 포함 된 단어 목록을 제거하는 것입니다.
stopwords.words ( 'spanish')
"Palabras"열에서 처음 500 개의 레코드 만 유지합니다 (빈도가 높은 단어).
import nltk
nltk.download()
from nltk.corpus import stopwords
prep = stopwords.words('spanish')
미리 감사드립니다!
웹 사이트에서 단어 목록을 추출하여 사전에 저장했습니다.
참고 : 실제로는 데이터 프레임에 저장했습니다.
사용할 수 있습니다 isin
. 기본적으로 열의 단어가 불용 단어 'Palabras'
목록에 있는 행을 가져 오려고합니다. 따라서 해당 행을 필터링 한 다음 ~
. 이미 정렬되어 있으므로.head(500)
tabla = tabla[~tabla['Palabras'].isin(prep)].head(500)
또한 html에는 table
태그 가 포함되어 있기 때문에 팬더 .read_html()
를 사용하는 것을 고려할 것입니다. 코드를 상당히 줄일 수 있습니다.
전체 코드, 동일한 결과 :
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)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다