【发布时间】:2021-01-29 06:31:32
【问题描述】:
我正在尝试重新编码变量。我已经能够用 map 做到这一点,但是,我试图找出一种有效的方法来将多个值(a、b、c)重新编码为一个值。在下面的示例中,我为Asian 提供了三种不同的分类,并希望对它们进行相应的重新编码。我尝试使用布尔值,但出现以下错误。
df['Race'] = df['Race'].map({
'Black or African American' : 'Black',
'White' : 'White',
'Hispanic or Latino': 'Non-White Hispanic',
('Asian' | 'Asian/Indian/Pacific Islander' | 'Native Hawaiian or Other Pacific Islander') : 'Asian/Pacific Islander',
('American Indian or Alaska Native' | 'Other/Mixed') : 'Multiracial/other',
'Unspecified' : np.nan
})
TypeError: unsupported operand type(s) for |: 'str' and 'str'
是否有更简单但仍然有效的方法将多个变量重新编码为单个值?它不一定是地图,这是我最熟悉的。
【问题讨论】: