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)