パンダ:同じ結果を得るためにLambda関数の代わりにNumpy関数を使用するにはどうすればよいですか(Numpyの方が速いため)?

Chadee Fouad

以下のコマンドは、次のエラーを表示します。ValueError:シリーズの真理値があいまいです。a.empty、a.bool()、a.item()、a.any()、またはa.all()を使用します。

なぜ、どうすれば修正できますか?

df['Score'] = np.array(fuzz.ratio(df['Vendor'], df['Company']))

注-以下のコマンドが機能することは知っていますが、ラムダよりもはるかに高速であると聞いたので、numpyを使用したいと思っていました。

df['Score'] = df['Vendor'].apply(lambda x: fuzz.ratio(x, df['Company']))

ありがとう!

抑圧層

これを試してください、それはnumpyステートメントと同じことをするはずです

df.apply(lambda x: fuzz.ratio(x.Vendor, x.Company), axis=1)

これは、fuzz.ratioが反復不可能な場合です。

または多分:

np.apply_along_axis(fuzz.ratio, 0, df['Vendor'], df['Company'] ) 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ