Pandas字段转换使用类似于case语句的东西



我想使用以下逻辑更新DataFrame中的字段。要更新的字段为UnitOfAccount。我希望能够,如果issueYear < 2016,那么连接SubUnit + '_prior2016' + prefix,否则连接SubUnit + prefix。实现这一目标的最佳方式是什么?

示例数据:

IssYr SubUnit Prefix Result 
2020  103     wh_l   103_wh_l 
2016  103     wh_1   103_Prior2016_wh_1

似乎可以使用布尔掩码:

mask = df['IssYr'] < 2016
df['Result'] = df['SubUnit'].astype(str) + '_' + df['prefix']
df.loc[mask, 'Result'] = (df['SubUnit'].astype(str) + 
'_prior2016_' + 
df['prefix'])

最新更新