這個問題在這里已經有了答案: 如何根據列值從 DataFrame 中選擇行? (12 個回答) 使用值串列從 Pandas 資料框中選擇行 3 個答案 如何使用 SQL 中的“in”和“not in”過濾 Pandas 資料框 10 個答案 昨天關門。
我有以下資料框:
import pandas as pd
df = pd.DataFrame({'Name': ['MEXICO', 'CANADA', 'CANADA', 'PORTUGAL', 'ESPANHA',
'BRASIL', 'BRASIL', 'MEXICO'],
'Column_two': [1,2,3,4,5,6,7,8]
})
print(df)
# Output:
Name Column_two
MEXICO 1
CANADA 2
CANADA 3
PORTUGAL 4
ESPANHA 5
BRASIL 6
BRASIL 7
MEXICO 8
我有以下串列,其中包含一些位于美國的城市:
list_americ = ['MEXICO', 'CANADA', 'BRASIL']
我想在資料框中只保留 list_americ 中國家的“名稱”。所以我嘗試執行以下代碼:
for correct_name in list_americ:
df['Name'] = df['Name'].apply(lambda x: correct_name if correct_name == df['Name']
else x)
此代碼產生以下錯誤:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我希望輸出為:
Name Column_two
MEXICO 1
CANADA 2
CANADA 3
BRASIL 6
BRASIL 7
MEXICO 8
uj5u.com熱心網友回復:
使用df.loc:
df.loc[df['Name'].isin(list_americ)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408947.html
標籤:
上一篇:根據兩個資料幀之間的匹配替換值
下一篇:使用標準拆分Pandas資料框
