2つのSeriesオブジェクトを持っている場合、[0,0,1] [1,0,0] どうすれば2つの交差点と共用体を得ることができますか? これらはブール値のみを含みます。つまり、一意でない値です。ユニークではない値を持つパンダで2つのシリーズの交差点と連合を得るにはどうすればいいですか?
私は大きなブール行列を持っています。私はそれをminhashedして、今私は、それぞれの元のペアのJaccardの類似性を取得する必要があると私は思う偽陽性とネガティブを見つけることを試みています。
2つのSeriesオブジェクトを持っている場合、[0,0,1] [1,0,0] どうすれば2つの交差点と共用体を得ることができますか? これらはブール値のみを含みます。つまり、一意でない値です。ユニークではない値を持つパンダで2つのシリーズの交差点と連合を得るにはどうすればいいですか?
私は大きなブール行列を持っています。私はそれをminhashedして、今私は、それぞれの元のペアのJaccardの類似性を取得する必要があると私は思う偽陽性とネガティブを見つけることを試みています。
あなたは彼らがブール値であると言うので、シリーズでnumpyのか&
と|
のlogical_and
とlogical_or
を使用するには、交差点のために
y1 = pd.Series([1,0,1,0])
y2 = pd.Series([1,0,0,1])
# Numpy approach
intersection = np.logical_and(y1.values, y2.values)
union = np.logical_or(y1.values, y2.values)
intersection.sum()/union.sum()
# 0.33333333333333331
# Pandas approach
sum(y1 & y2)/sum(y1 | y2)
# 0.33333333333333331
ありがとうございます。これは答えですが、それは遅すぎます。 – user3927312
配列の長さはどのくらいですか? – Dark
各配列は正確に6000です。その配列は1000個あります。 – user3927312
、すなわち、[この回答](https://stackoverflow.com/a/18079695/を参照してください2799941)。 –
これはユニークでない値でも機能しますか? – user3927312
そして、それらが真偽であれば、交叉と結合の使用は何ですか? '&'と '|'を再作成しようとしていますか?不思議なことに、どうしてブール値よりも傍観が必要なのですか? – Dark