根据列表中的另一列内容创建新的列值

问题描述 投票:0回答:1

我正在尝试根据另一个变量中非洲国家的名称创建一个称为“区域”的新变量。我列出了所有非洲国家的清单(此处显示了两个示例),但是遇到错误。



def africa(x):
  if africalist in x:
    return 'African region'
  else:
    return 'Not African region'


df['region'] = ''

df.region= df.countries.apply(africa)

我正在:

'in'要求将字符串作为左操作数,而不是列表

python pandas list dataframe apply
1个回答
0
投票

您的条件不正确。

正确的方法是

if element in list_of_elements:

因此,更改功能africa将导致:

def africa(x):
  if x in africalist:
    return 'African region'
  else:
    return 'Not African region'
© www.soinside.com 2019 - 2024. All rights reserved.