Как преобразовать фрейм данных pandas в таблицу со столбцами Column == value?

#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