2017-07-13 21 views
2

私は2つの配列、1000の値と8448の値のうちの1つを持っています。 私は2つのデータフレーム内の識別値の数を数えることを試みています。パンダnumpyは異なるサイズの2つの配列を比較します

t1 = dfRight['X'].values 
t2 = dfLeft['X'].values 
t1 == t2 

しかし、それは "偽"を返します、誰かがこれを行う簡単な方法を知っていますか?

答えて

4

これを試してみてください:

np.intersect1d(t1, t2) 

または使用してパンダを:

dfRight.merge(dfLeft, on='X') 

データ:

In [79]: dfRight 
Out[79]: 
    X 
0 1 
1 3 
2 5 
3 7 

In [80]: dfLeft 
Out[80]: 
    X 
0 1 
1 2 
2 3 
3 4 
4 5 
5 6 
6 7 
7 8 
8 9 

マージ:

In [82]: dfRight.merge(dfLeft, on='X') 
Out[82]: 
    X 
0 1 
1 3 
2 5 
3 7 

計数:

In [81]: dfRight['X'].isin(dfLeft['X']).sum() 
Out[81]: 4 
関連する問題