[PYTHON] [Mémo] Correspondance de texte dans le cadre de données pandas à l'aide de Flashtext
Aperçu
- Introduction d'une bibliothèque appelée flashtext à partir des points suivants lors de la mise en correspondance de texte en csv avec une grande capacité à l'aide de pandas.
- Un algorithme unique permet un traitement d'expressions normales à grande vitesse, même pour de gros volumes de données.
- En fonction de la capacité, le [module re] de python (https://docs.python.org/ja/3/library/re.html) est plus rapide.
- Notation simple.
- Traitement de texte abondant.
- Github
- Cette fois, la notation de base est décrite comme un mémorandum.
- ** * Par conséquent, vérifiez les Documents officiels pour les différentes API. ** **
Installation
--Introduit avec la commande suivante.
pip install flashtext
Exemple de code
- Ensuite, le processus de lecture de l'échantillon CSV dans la trame de données et d'émission d'un numéro de comptage simple.
import pandas as pd
from flashtext import KeywordProcessor
#spécification de mot-clé
keyword_dict = {
'front': ['html', 'javascript','css'],
'back': ['php','python','ruby'],
'db': ['mysql','postgress','mongo']
}
# init
keyword_processor = KeywordProcessor()
#mot-clé ajouté
keyword_processor.add_keywords_from_dict(keyword_dict)
#Charger un exemple de csv
df = pd.read_csv("sample.csv")
#Traitement du compte. Ajout d'une colonne pour afficher chaque nombre compté.
#Exemple: sample.Chaque correspondance pour les données de la colonne «contenu» dans csv.
df['all_count'] = df['contents'].apply(lambda x: len(keyword_processor.extract_keywords(x)))
#Sortie 3 premières lignes
df.head(3)
référence
- Documentation
- https://medium.com/better-programming/using-pythons-flashtext-library-to-find-keywords-in-text-data-f6cdf9c018ee