我的df的国家/地区代码为“国家/地区”列,例如我在下面创建了一个函数,并使用.apply创建了一个新列“ Region”,它在德国使用了“ DE”,在墨西哥使用了“ MX”。我想知道是否有更光滑/有效的方法来实现这一目标,例如与np.where?仍然试图让我了解np.where的语法,下面的解决方案目前仍然有效,只是试图扩大我对使用Pandas实现此目的的其他方法的了解:)
def region(df):
if df.Country == 'US':
return "NA"
elif df.Country == 'DE' or df.Country == 'ES' or df.Country == 'FR' or df.Country == 'GB' or df.Country == 'IT':
return "EMEA"
elif df.Country == 'IN':
return "APAC"
elif df.Country == 'BR' or df.Country == 'MX':
return "LATAM"
df.insert(2, 'Region', df.apply(region, axis=1))
答案 0 :(得分:0)
一种实现此目的的方法是将字典与pandas.Series.map
函数一起使用:
First Name : Andrew
Last Name : Gazdecki
occupation : Chief Revenue Officer @ Spiff. Inc. 30 under 30 Entrepreneur.