[PYTHON] [Memo] Textabgleich im Pandas-Datenrahmen mit Flashtext
Überblick
- Einführung einer Bibliothek namens Flashtext an den folgenden Punkten, wenn Text-Matching in CSV mit großer Kapazität unter Verwendung von Pandas durchgeführt wird.
- Der ursprüngliche Algorithmus ermöglicht die schnelle Verarbeitung normaler Ausdrücke auch für große Datenmengen.
- Abhängig von der Kapazität ist das [Re-Modul] von Python (https://docs.python.org/ja/3/library/re.html) schneller.
- Einfache Notation.
- Reichlich vorhandene Textverarbeitung.
- Github
- Diesmal wird die Grundnotation als Memorandum beschrieben.
- ** * Überprüfen Sie daher Offizielle Dokumente auf verschiedene APIs. ** ** **
Installation
- Eingeführt mit dem folgenden Befehl.
pip install flashtext
Beispielcode
- Danach der Vorgang des Einlesens der Beispiel-CSV in den Datenrahmen und der Ausgabe einer einfachen Zählnummer.
import pandas as pd
from flashtext import KeywordProcessor
#Schlüsselwortspezifikation
keyword_dict = {
'front': ['html', 'javascript','css'],
'back': ['php','python','ruby'],
'db': ['mysql','postgress','mongo']
}
# init
keyword_processor = KeywordProcessor()
#Schlüsselwort hinzugefügt
keyword_processor.add_keywords_from_dict(keyword_dict)
#Beispiel-CSV laden
df = pd.read_csv("sample.csv")
#Zählverarbeitung. Es wurde eine Spalte hinzugefügt, in der jede gezählte Zahl angezeigt wird.
#Beispiel: sample.Jede Übereinstimmung für die Daten in der Spalte "Inhalt" in CSV.
df['all_count'] = df['contents'].apply(lambda x: len(keyword_processor.extract_keywords(x)))
#Die ersten 3 Zeilen werden ausgegeben
df.head(3)
Referenz
- Dokumentation
- https://medium.com/better-programming/using-pythons-flashtext-library-to-find-keywords-in-text-data-f6cdf9c018ee