現在、2 つのデータ フレームがあります。fuzzywuzzy の process.extractOne 関数を使用して、クライアント名のあいまい一致を取得しようとしています。サンプル データに対して次のスクリプトを実行すると、良好な結果が得られ、エラーは発生しませんが、現在のデータ フレームに対して次のスクリプトを実行すると、属性エラーとタイプ エラーの両方が発生します。セキュリティ上の理由からデータを提供することはできませんが、提供されたスクリプトに基づいてエラーが発生する理由を誰かが理解できる場合、私は大いに義務付けられます.
names2 = list(dftr3['Common Name'])
names3 = dict(zip(names2,names2))
def get_fuzz_match(row):
match = process.extractOne(row['CLIENT_NAME'],choices = n3.keys(),score_cutoff = 80)
if match:
return n3[match[0]]
return np.nan
dfmi4['Match Name'] = dfmi4.apply(get_fuzz_match, axis=1)
いくつかの例がないとトラブルシューティングが難しくなることはわかっているので、質問に答えて投稿を編集し、このプロセスに役立つようにします. 具体的なエラーは次のとおりです。
1.AttributeError: 'dict_keys' オブジェクトには属性 'items' がありません
2.TypeError: 文字列またはバッファが必要です