データフレームを交差の順序に依存交差点の数

Nehalemの:

私はAと交差AとBまたはBでどのようにそれができるかどうかによって異なり2つのデータフレームが、結果の交点の数を計算してみてください?

a_b= a.index.intersection(b.index)
b_a= b.index.intersection(a.index)
len(a_b), len(b_a)

戻り値

(10735, 10927)

残念ながらドキュメントはこの1にはかなり便利ではありません。

セルジュBallestaの:

インデックスは、多くの場合のみ、一意の値が含まれていることになっており、このとき、奇妙なことが起こるされている要件が満たされていません。私はあなたがそれを経験していることを前提としています。ここでは、問題を示す簡単な例です:

>>> dfa = pd.DataFrame(1, index=list('ABCDAC'), columns=['X'])
>>> dfa
>>> dfb = pd.DataFrame(1, index=list('ABCEC'), columns=['X'])
>>> dfa.index.intersection(dfb.index)
Index(['A', 'B', 'C', 'C'], dtype='object')
>>> dfb.index.intersection(dfa.index)
Index(['A', 'A', 'B', 'C', 'C'], dtype='object')
>>> 

非一意索引を持つ行動は、ドキュメントの明示的ではない、と私はそれなしで、それに依存しないでしょう。

使用することです(それはあなたのユースケースに該当する場合)私のアドバイスは、だから、unique()両方の索引について:

a_b= a.index.unique().intersection(b.index.unique())
b_a= b.index.unique().intersection(a.index.unique())
len(a_b), len(b_a)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=8343&siteId=1