GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

seatgeek

fuzzywuzzy – Pythonのファジーストリングマッチング

投稿日:

Pythonのファジーストリングマッチング http://chairnerd.seatgeek.com/fuzzywu…

FuzzyWuzzy

ボスのようなファジーストリング。 Levenshtein Distanceを使用して、シンプルなパッケージ内のシーケンス間の差異を計算します。

要件

テスト用

  • ピコスタイル
  • 仮説
  • パイロット

インストール

PyPI経由のPIPの使用

pip install fuzzywuzzy

Python-Levenshteinもインストールするには

pip install fuzzywuzzy[speedup]

Github経由のPIPの使用

pip install git+git://github.com/seatgeek/fuzzywuzzy.git@0.16.0#egg=fuzzywuzzy

requirements.txtファイルに追加する(後でpip install -r requirements.txt実行pip install -r requirements.txt

git+ssh://git@github.com/seatgeek/fuzzywuzzy.git@0.16.0#egg=fuzzywuzzy

手動でGIT経由

git clone git://github.com/seatgeek/fuzzywuzzy.git fuzzywuzzy
cd fuzzywuzzy
python setup.py install

使用法

>>> from fuzzywuzzy import fuzz
>>> from fuzzywuzzy import process

シンプルレシオ

>>> fuzz.ratio("this is a test", "this is a test!")
    97

部分比率

>>> fuzz.partial_ratio("this is a test", "this is a test!")
    100

トークンのソート率

>>> fuzz.ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear")
    91
>>> fuzz.token_sort_ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear")
    100

トークンセット比率

>>> fuzz.token_sort_ratio("fuzzy was a bear", "fuzzy fuzzy was a bear")
    84
>>> fuzz.token_set_ratio("fuzzy was a bear", "fuzzy fuzzy was a bear")
    100

プロセス

>>> choices = ["Atlanta Falcons", "New York Jets", "New York Giants", "Dallas Cowboys"]
>>> process.extract("new york jets", choices, limit=2)
    [('New York Jets', 100), ('New York Giants', 78)]
>>> process.extractOne("cowboys", choices)
    ("Dallas Cowboys", 90)

extractOneメソッドに追加のパラメータをextractOne 、特定のスコアラーを使用するようにすることもできます。 典型的な使用例は、ファイルパスを一致させることです:

>>> process.extractOne("System of a down - Hypnotize - Heroin", songs)
    ('/music/library/good/System of a Down/2005 - Hypnotize/01 - Attack.mp3', 86)
>>> process.extractOne("System of a down - Hypnotize - Heroin", songs, scorer=fuzz.token_sort_ratio)
    ("/music/library/good/System of a Down/2005 - Hypnotize/10 - She's Like Heroin.mp3", 61)

既知のポート

FuzzyWuzzyも他の言語に移植されています! ここに私たちが知っているいくつかのポートがあります:







-seatgeek

執筆者: