【发布时间】:2022-01-10 19:21:57
【问题描述】:
我有以下数据框:
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
【问题讨论】: