使用pandas在python中拦截数据帧

时间:2016-06-03 09:12:18

标签: python pandas

我有两个DataFrame:A和B. 一个包含两列:Number和Letter,B还包含两列:Number1和Number2,Number包含与Number1和Number2中相同的数据。 如何创建一个包含Number1,Number2和列及其字母的列的数据框?

 A
Number Letter
1        e
2        l
3        o
4        s
5        p
6        w 
7        r
8        i
9        u

B
Number1 Number2
1           7
4           9
2           1

需要的输出(没有dublicats):

Number Letter
    1     e
    4     s
    2     l
    7     r
    9     u

如果B中只有一列,我会用“合并”,但如何在这里? 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

您可以将stack()isin()结合使用:

In [109]: A[A['Number'].isin(B.stack())]
Out[109]:
   Number Letter
0       1      e
1       2      l
3       4      s
6       7      r
8       9      u