#python #pandas #dataframe #logic
#python #pandas #фрейм данных #Логические
Вопрос:
Поскольку я не знаю названия концепции, которую я ищу, поиск в Google не увенчался успехом…
Мне нужно преобразовать что-то вроде:
a b c d
1 2 'Hey' 4
2 2 'Hello' 4
1 2 'World' 3
к чему-то вроде:
a==1 a==2 b==2 c=='Hey' c=='Hello' c=='World' d==3 d==4
1 0 1 1 0 0 0 1
0 1 1 0 1 0 0 1
1 0 1 0 0 1 1 0
Я использую python 3.8 и pandas 1.1.3
Заранее большое спасибо…
Ответ №1:
Используйте get_dummies
с преобразованием всех значений в строки и prefix_sep
параметром set:
df = pd.get_dummies(df.astype(str), prefix_sep='==')
print (df)
a==1 a==2 b==2 c=='Hello' c=='Hey' c=='World' d==3 d==4
0 1 0 1 0 1 0 0 1
1 0 1 1 1 0 0 0 1
2 1 0 1 0 0 1 1 0