LoginSignup
0
0

More than 3 years have passed since last update.

【メモ】flashtextを用いたpandas dataframe内のテキストマッチング

Posted at

概要

  • pandasを用いて、容量の大きいcsv内のテキストマッチングを行う際に以下の点からflashtextというライブラリを導入。
    • 独自のアルゴリズムで、容量の大きいデータでも高速な正規表現処理が可能。
    • 記法が簡易的。
    • テキスト処理が豊富。
  • Github
  • 今回は、備忘録として基本記法を記述

インストール

  • 下記のコマンドで、導入。
pip install flashtext

サンプルコード

  • 以下、サンプルCSVをdataframeに読み込んで、簡単なcount数を出す処理。
import pandas as pd
from flashtext import KeywordProcessor

# keyword指定
keyword_dict = {
'front': ['html', 'javascript','css'],
'back': ['php','python','ruby'],
'db': ['mysql','postgress','mongo']
}

# init
keyword_processor = KeywordProcessor()

# keyword追加
keyword_processor.add_keywords_from_dict(keyword_dict)

# サンプルcsv読み込み
df = pd.read_csv("sample.csv")

# カウント処理。各カウントした数を表示するカラム追加。
# 例 : sample.csv内の「contents」カラム内にあるデータに対して、各マッチング。
df['all_count'] = df['contents'].apply(lambda x: len(keyword_processor.extract_keywords(x)))

# 最初の3行出力
df.head(3)

image.png

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0