我有一個資料框,其中有完整的資料集,它有 4 列,但我需要從另一個資料框中洗掉所有具有 customer_id 的行
這是一個例子:
df1 = pd.DataFrame({'client_id' : ['123456', '451245', '563234', '753214', '412456', '442312', '123411', '987654'],
'name_fran' : [ 'will', 'bruce', 'john', 'jorge', 'well', 'dani', 'rafa', 'manoel'],
'id_fran' : ['331' , '221', '312', '531', '678', '214', '456', '886']})
df2 = pd.DataFrame({'client_id' : ['123456', '987654']})
df1:
| 指數 | client_id | name_fran | id_fran |
|---|---|---|---|
| 0 | 123456 | 將要 | 331 |
| 1 | 451245 | 布魯斯 | 221 |
| 2 | 563234 | 約翰 | 312 |
| 3 | 753214 | 喬治 | 531 |
| 4 | 412456 | 出色地 | 678 |
| 5 | 442312 | 達尼 | 214 |
| 6 | 123411 | 拉法 | 456 |
| 7 | 987654 | 馬諾埃爾 | 886 |
df2:
| 指數 | client_id |
|---|---|
| 0 | 123456 |
| 1 | 987654 |
我需要的結果是這樣的:
| 指數 | client_id | name_fran | id_fran |
|---|---|---|---|
| 0 | 451245 | 布魯斯 | 221 |
| 1 | 563234 | 約翰 | 312 |
| 2 | 753214 | 喬治 | 531 |
| 3 | 412456 | 出色地 | 678 |
| 4 | 442312 | 達尼 | 214 |
| 5 | 123411 | 拉法 | 456 |
我嘗試了幾種方法但沒有結果,最好的方法是什么?
uj5u.com熱心網友回復:
我們可以做isin
df1 = df1.loc[~df1['client_id'].isin(df2['client_id'])].reset_index(drop=True)
df1
Out[278]:
client_id name_fran id_fran
0 451245 bruce 221
1 563234 john 312
2 753214 jorge 531
3 412456 well 678
4 442312 dani 214
5 123411 rafa 456
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/517719.html
標籤:Python熊猫数据框
上一篇:回圈遍歷帶有條件的資料框
