替代基于条件创建新的熊猫系列?

时间:2020-04-13 16:10:26

标签: python pandas

我的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)) 

1 个答案:

答案 0 :(得分:0)

一种实现此目的的方法是将字典与pandas.Series.map函数一起使用:

First Name : Andrew
Last Name : Gazdecki
occupation : Chief Revenue Officer @ Spiff. Inc. 30 under 30 Entrepreneur.