我有兩個不同大小的數據幀(df1
和df2
)。我想從df1
中刪除存儲在df2
內的所有行。用Pandas從另一個數據幀中刪除一個數據幀
所以,如果我有df2
等於:
A B
0 wer 6
1 tyu 7
而且df1
等於:
A B C
0 qwe 5 a
1 wer 6 s
2 wer 6 d
3 rty 9 f
4 tyu 7 g
5 tyu 7 h
6 tyu 7 j
7 iop 1 k
最終的結果應該是像這樣:
A B C
0 qwe 5 a
1 rty 9 f
2 iop 1 k
我能通過使用for循環實現我的目標,但我想知道是否有更好,更elega nt和有效的方式來執行此類操作。
這裏是我的情況下寫的代碼,你需要它: 進口大熊貓作爲PD
df1 = pd.DataFrame({'A' : ['qwe', 'wer', 'wer', 'rty', 'tyu', 'tyu', 'tyu', 'iop'],
'B' : [ 5, 6, 6, 9, 7, 7, 7, 1],
'C' : ['a' , 's', 'd', 'f', 'g', 'h', 'j', 'k']})
df2 = pd.DataFrame({'A' : ['wer', 'tyu'],
'B' : [ 6, 7]})
for i, row in df2.iterrows():
df1 = df1[(df1['A']!=row['A']) & (df1['B']!=row['B'])].reset_index(drop=True)
是否可以指定列名稱'A'和'B'? –
是的,當然,在' – jezrael
dekujiu moc kamarad!上添加參數! –