2017-11-18 9 views
0

2つのSeriesオブジェクトを持っている場合、[0,0,1] [1,0,0] どうすれば2つの交差点と共用体を得ることができますか? これらはブール値のみを含みます。つまり、一意でない値です。ユニークではない値を持つパンダで2つのシリーズの交差点と連合を得るにはどうすればいいですか?

私は大きなブール行列を持っています。私はそれをminhashedして、今私は、それぞれの元のペアのJaccardの類似性を取得する必要があると私は思う偽陽性とネガティブを見つけることを試みています。

+1

、すなわち、[この回答](https://stackoverflow.com/a/18079695/を参照してください2799941)。 –

+0

これはユニークでない値でも機能しますか? – user3927312

+0

そして、それらが真偽であれば、交叉と結合の使用は何ですか? '&'と '|'を再作成しようとしていますか?不思議なことに、どうしてブール値よりも傍観が必要なのですか? – Dark

答えて

1

あなたは彼らがブール値であると言うので、シリーズでnumpyのか&|logical_andlogical_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 
+0

ありがとうございます。これは答えですが、それは遅すぎます。 – user3927312

+0

配列の長さはどのくらいですか? – Dark

+0

各配列は正確に6000です。その配列は1000個あります。 – user3927312

関連する問題