我有2个DataFrame: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行。
使用这两个Dataframe,我想创建一个第三个Dataframe,它基本上由frame2组成,并删除了与frame1共享的所有cid值。所以,在这个例子中,我想要一个frame3,它是frame2,没有第2行,cid 531,,它与frame1共享。
答案 0 :(得分: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