difflibのget_closest_matchesを使用して、入力ベクトルの各値に対してN = 3の最適な一致を返します。私のような、データフレーム内の単一の列に出力を格納したい:パンダ:入力ベクトルをN個の出力に展開/マッピングする
input output
"xyz" "xyz"
"xyz" "xzy"
"xyz" "xxy"
"pqr" "pqr"
...
それが自動的に拡張されます適用するために、私は呼び出しから返す必要がありますどのような/ N出力への入力放送しますか?例えば、これは、リストとして出力を返すだろう。
data["output"] = data["input"].apply(lambda x: difflib.get_close_matches(x, possibilities))
この形態においては、各行のリストを展開するために連結するために多くの反復呼び出しを必要とするであろう。私が紛失しているより単純な方法が必要です。
このような質問がありますが、いずれもReturning multiple values from pandas apply on a DataFrameですが、出力はすべて別の列に展開されますが、1つの列に出力する必要があります。
編集:結果になるよう出力にパンダシリーズを作り、
possibilities = ['xyz', 'xzy', 'xxy', 'pqr']
まず:IANSが正しく指摘するように、この場合のpossiblities
次の例では
possibilities = ['xyz', 'xzy', 'xxy', 'pqr']
それだ、ありがとう。私はいくつかの入力に対して