У меня есть столбец данных pandas, заполненный кодами стран для 100 стран. Я хочу использовать их для регрессии, но я хочу только создавать фиктивные переменные для определенных стран в моем наборе данных.Как создать фиктивные переменные только для определенных значений в столбце?
Я думал, что это будет работать:
dummies = pd.get_dummies(df.CountryCode, prefix='cc_')
df_and_dummies = pd.concat([df,dummies[dummies['cc_US', 'cc_GB']]], axis=1)
df_and_dummies
Но это дает мне ошибку:
KeyError: ('cc_US', 'cc_GB')
Мой dataframe в настоящее время выглядит примерно так:
dframe = pd.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'],
'CountryCode': ['UK', 'US', 'RU']})
dframe
Но я хочу, чтобы выглядеть следующим образом:
Есть простой способ определить, какие значения вы хотите включить в методе get_dummies
, или есть другой способ определить конкретные фиктивные переменные?
Вы хотите 'чайников [dummies.isin ([ 'cc_US', 'cc_GB', 'cc_DE'])]'? В противном случае вы можете привести воспроизводимый пример? – joris
@joris Это не похоже на трюк. Я добавил пример сообщения. Спасибо за ваше внимание! – samthebrand