我有一個 pandas 資料框,我們可以df這樣稱呼它
|Rank| Country | All | Agr |Ind |Dom |
-------------------------------------------------------
|1 |Argentina |2 |3 |1 |5 |
|4 |Chile |3 |3 |4 |3 |
|3 |Colombia |1 |2 |1 |4 |
|4 |Mexico |3 |5 |4 |2 |
|3 |Panama |2 |1 |5 |4 |
|2 |Peru |3 |3 |4 |2 |
我想從不在下一個串列中的行中洗掉:
paises = ["Colombia", "Peru", "Chile"]
為此,我嘗試了以下代碼:
df = df.drop(df["Country"]= paises)
但它不起作用,因為它們的長度不同。
我是python的新手。你能幫助我嗎?
uj5u.com熱心網友回復:
使用isin:
df = df[~df['Country'].isin(paises)]
輸出:
>>> df
Rank Country All Agr Ind Dom
0 1 Argentina 2 3 1 5
3 4 Mexico 3 5 4 2
4 3 Panama 2 1 5 4
uj5u.com熱心網友回復:
使用 pandas.dataFrame。伊辛()
使用您的資料框中不需要的國家/地區串列創建適當的資料框掩碼。
paises = ["Colombia", "Peru", "Chile"]
df[df['country'].isin(paises)==False]
使用 dataFrame 掩碼來分配屏蔽的 dataFrame,它不包括 paises。
paises = ["Colombia", "Peru", "Chile"]
df = df[df['country'].isin(paises)==False]
>>> df
Rank Country All Agr Ind Dom
0 1 Argentina 2 3 1 5
3 4 Mexico 3 5 4 2
4 3 Panama 2 1 5 4
您還可以使用not isin()運算子“~”來檢查值是否不在 DataFrame 中。要使用 ~ 運算子:df = df[~df['country'].isin(paises)]
你甚至不需要馬拉多納的手來做這個。
uj5u.com熱心網友回復:
我會使用以下
df = df[~df["Country"].isin(paises)]
使用否定符號~。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/422937.html
標籤:
下一篇:熊貓資料框與自身有條件的內部連接
