1

我有 2 个数据帧:frame1 和 frame2

In [10]: frame1[:5]
Out[10]:
    cid
0   531
1  1102
2  1103
3  1406
4  1409

In [14]: frame2[:5]
Out[14]:
     cid   media_cost     imps  booked_revenue
0  72692    29.671446    13918       84.961853
1  72704  3121.781201  6992946     9912.982516
2    531     0.001540        2        0.000000
3  39964  2307.119001  3997167     5425.629736
4  72736    45.716847   143574       56.280000

frame1 有 60,888 行,frame2 有 139,846 行。

使用这两个数据框,我想创建第三个数据框,它基本上由 frame2 组成,并删除了它与 frame1 共享的所有 cid 值。所以,在这个例子中,我想要一个 frame3,它是 frame2,没有第 2 行,cid 531,它与 frame1 共享。

4

1 回答 1

3

怎么样:

>>> f1
    cid
0   531
1  1102
2  1103
3  1406
4  1409
>>> f2
     cid   media_cost     imps  booked_revenue
0  72692    29.671446    13918       84.961853
1  72704  3121.781201  6992946     9912.982516
2    531     0.001540        2        0.000000
3  39964  2307.119001  3997167     5425.629736
4  72736    45.716847   143574       56.280000
>>> f2[~f2.cid.isin(f1.cid)]
     cid   media_cost     imps  booked_revenue
0  72692    29.671446    13918       84.961853
1  72704  3121.781201  6992946     9912.982516
3  39964  2307.119001  3997167     5425.629736
4  72736    45.716847   143574       56.280000
于 2013-02-19T22:12:02.300 回答