重複する可能性のある映画タイトルのリストは2つありますが、異なる書式で書かれている可能性があります。
パンダとは2つの異なるデータフレームにあります。いくつかの良い品質の結果を与える映画のタイトルとdifflibとpandasをあいまいにする方法は?
df1.title.map(lambda x: process.extractOne(x, choices=df2.title, score_cutoff=95))
:だから私はそうのようなfuzzywuzzy
ライブラリとmap()
機能を使用しようとしました。しかし、時間の複雑さは、私は両方のデータフレームの非常に小さなサブセットでしか実行できないほどです。データフレームのサイズを増やしてみると、すぐに使用できなくなります。
次に、fuzzywuzzy
をdifflib
に置き換えようとしました。そしてはるかに高速です。しかし、私が望む結果を得ることはできません。
df1.title.map(lambda x: difflib.get_close_matches(x, df2.title, n=1)
そして、それは速かったが、結果の品質が劣っていました。単純な大文字/小文字の変更が欠落しています。 cutoff
で遊んでも役に立ちませんでした。
私は間違ったツールを使用していると思いました。ドキュメントや例では、私はget_close_matches
がシングルワードで使われているのを見ました。タイトルにはさまざまな言葉があります。
SequenceMatcher
はより良い選択ですか?
もしそうなら、それをmap()
にどのように適合させるのですか?上記の関数と同じことをします:最良の結果のみを返し、結果が特定の比率を超える場合のみですか?
大変必要なパッケージです。しかし、HDDには4Gbの「Visual C++ Build Tools」が必要です。 – user2978216
興味深い - あなたはWindows上にいると思いますか?あなたはすでにpandas/numpyがインストールされていますか?エラーメッセージがどこでいつ取得されるのか詳細を教えてください。 – RobinL
私はWindows上で、pandas/numpyがインストールされています。インストールの試行で[エラーメッセージ]が表示される(https://imgur.com/a/DXD5g) – user2978216