我有2个数组,一个是1000个值,另一个是8448个值。 我试着计算两个数据帧中的标识值的数量。
t1 = dfRight['X'].values
t2 = dfLeft['X'].values
t1 == t2
但它回归"错误"有人知道一个简单的方法吗?
答案 0 :(得分: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