Предположим, у меня есть этот фрейм данных:
dfdic = {"col1": ['azul', 'amarillo', 'amarillo', np.nan], "col2": [4, 5, 8, 10]}
df = pd.DataFrame(dfdic)
Я хочу преобразовать поле col1
в фиктивные переменные.Я могу сделать это следующим образом:
pd.get_dummies(df, columns=['col1']).head()
, что дает
col2 col1_amarillo col1_azul
0 4.0 0 1
1 5.0 1 0
2 8.0 1 0
3 10 0 0
NaN в col1
заменено двумя нулями в фиктивных переменных.Это имеет смысл, потому что он говорит, что экземпляр не принадлежит ни к одной из категорий.Однако, как я могу заменить эти нули на NaN, чтобы я мог иметь
col2 col1_amarillo col1_azul
0 4.0 0 1
1 5.0 1 0
2 8.0 1 0
3 10 NaN NaN