Python
 Computer >> コンピューター >  >> プログラミング >> Python

FuzzyWuzzyPythonライブラリ


このチュートリアルでは、 FuzzyWuzzyについて学習します。 Pythonライブラリ。 FuzzyBuzzy ライブラリは、文字列と比較するために開発されました。 正規表現のような他のモジュールがあります 、 difflib 文字列を比較します。ただし、 FuzzyBuzzy その方法でユニークです。このライブラリのメソッドは、 true、false、またはstring ではなく、一致した文字列の100点からスコアを返します。 。

FuzzyWuzzyを操作するには ライブラリの場合、 fuzzywuzzyをインストールする必要があります およびpython-レーベンシュタイン 。次のコマンドを実行してインストールします。

 pip install fuzzywuzzy 

上記のコマンドを実行すると、次の成功メッセージが表示されます。

 fuzzywuzzyの収集https://files.pythonhosted.org/packages/d8/f1/5a267addb30ab7eaa1beab2b9323073815da4551076554ecc890a3595ec9/fuzzywuzzy-0.17.0-py2.py3-none-any.whl収集されたパッケージのインストール:fuzzywuzzySuccessfully pre> 

Linuxで次のコマンドを実行して、 python-Levenshteinをインストールします。 。

 pip install python-Levenshtein 

Windowsで次のコマンドを実行します。

 easy_install python-Levenshtein 

ファズ

次に、ファズについて学習します。 モジュール。 ファズ 一度に2つの文字列を比較するために使用されます。 100点満点でスコアを返すさまざまなメソッドがあります。ファズモジュールのいくつかのメソッドを見てみましょう。

fuzz.ratio()

ファズの最初の方法を見てみましょう モジュール比率 。これは、100点満点のスコアを返す2つの文字列を比較するために使用されます。明確なアイデアを得るには、以下の例を参照してください。

 ##fuzzywuzzyライブラリからモジュールをインポートするfuzzywuzzyからインポートfuzz##同じ文字列に対して100print(f "Equal Strings:-{fuzz.ratio('tutorialspoint'、'tutorialspoint')}")##わずかなランダムスコア文字列の変更print(f "Slight Changed Strings:-{fuzz.ratio('tutorialspoint'、'TutorialsPoint')}")print(f "Slight Changed Strings:-{fuzz.ratio('tutorialspoint'、'Tutorials Point' )} ")##完全な異なるstringsprint(f"異なる文字列:-{fuzz.ratio('abcd'、'efgh')} ")

出力

最大スコア:-100わずかに変更された文字列:-86わずかに変更された文字列:-86異なる文字列:-0 

partial_ratioを試してみてください 理解を深めるために可能な限り。

fuzz.WRatio()

fuzz.WRatio() 大文字と小文字、およびその他のパラメータを処理します。いくつかの例を見てみましょう。

##モジュールをfuzzywuzzyライブラリからインポートするfuzzywuzzyからインポートするfuzz##1つの文字列に他の文字列よりも多くの文字が含まれている場合でも100スコア(f "最大スコア:-{fuzz.WRatio('tutorialspoint'、'tutorialspoint !!! ')} ")##文字列のわずかな変更に対するランダムスコアprint(f"わずかに変更された文字列:-{fuzz.WRatio(' tutorialspoint'、' TutorialsPoint')} ")print(f"わずかに変更された文字列:-{fuzz .WRatio('tutorialspoint'、'TutorialsPoint')} ")##完全な異なる文字列print(f"異なる文字列:-{fuzz.ratio('abcd'、'efgh')} ")

出力

最大スコア:-100わずかに変更された文字列:-100わずかに変更された文字列:-100異なる文字列:-0 

WRatio 私たちが見るように、大文字と小文字といくつかの余分な文字を無視します。 WRatioの使用 単純な比率の代わりに、より厳密に一致する文字列が得られます。

結論

チュートリアルについて疑問がある場合は、コメントセクションにその旨を記載してください。


  1. %はPythonの文字列に何をしますか?

    %は、文字列フォーマット演算子または補間演算子です。 formatの%値(formatは文字列)を指定すると、formatの%変換仕様は、0個以上の値の要素に置き換えられます。この効果は、C言語でsprintf()を使用する場合と同様です。たとえば、 >>> lang = "Python" >>> print "%s is awesome!" % lang Python is awesome この表記で数値をフォーマットすることもできます。たとえば、 >>> cost = 128.527 >&

  2. Pythonで文字列のリストを並べ替える方法は?

    リストを適切に並べ替える、つまりリスト自体を並べ替え、そのリスト自体の順序を変更するには、文字列のリストでsort()を使用できます。たとえば、 >>> a = ["Hello", "My", "Followers"] >>> a.sort() >>> print a ['Followers', 'Hello', 'My'] 元のリストをそのまま維持し、代わりにソートされた要素の新しいリストが必要な場合は、sorted(list)を