Горячее кодирование с pd.get_dummies - показывать только столбцы со значением 1 для выбранной строки - PullRequest
0 голосов
/ 11 октября 2019

После горячего кодирования набора данных моих подержанных автомобилей с X = pd.get_dummies(data=X) мне нужно увидеть столбец, который содержит значение 1 для определенной строки. Поэтому, если я выберу строку следующим образом:

 X.iloc[0,:]

Я получу (я вставляю только часть вывода):

model_106                         0
model_116                         0
model_118                         0
model_120                         0
model_124                         0
model_146                         0
model_147                         0
model_156                         0
model_159                         0
model_166                         0
model_190                         0
model_2                           0
model_206                         0
model_207                         0
model_208                         0

Мне нужно найти только столбцы, которые имеют значение1 для основной строки. Другие столбцы должны быть скрыты. Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 11 октября 2019

Вам необходимо использовать логическое индексирование с DataFrame.loc :

df.loc[df.index[0],df.iloc[0].eq(1)]
0 голосов
/ 11 октября 2019

надеюсь, что это будет полезно, давайте возьмем ваш фрейм данных как df и ваши необходимые имена столбцов как cols

 df_= df[cols]
 result = df_.idxmax(axis=1).tolist()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...