Преобразовать категориальные коды в категориальные значения

1

У меня есть dataframe:

ga_deviceCategory_codes ga_channelgrouping_codes    ga_sourceMedium_codes   
        1.0                         6.0                      9.0
        1.0                         6.0                      9.0    

Который я преобразовал в категориальные коды из категориальных значений, используя:

data['ga_deviceCategory_codes'] = data['ga_deviceCategory'].astype('category').cat.codes
data['ga_channelgrouping_codes'] = data['ga_channelgrouping'].astype('category').cat.codes
data['ga_sourceMedium_codes'] = data['ga_sourceMedium'].astype('category').cat.codes

Как я могу вернуться к исходным категориальным значениям теперь из приведенных выше кодов?

  • 0
    Вы можете посмотреть на переменную чайников :-)
  • 0
    @Wen- Вен - Могу ли я не получить исходные значения из того, что я сделал до сих пор?
Теги:
pandas
dataframe
dictionary
categorical-data

2 ответа

1
Лучший ответ

Сопоставления категорий хранятся внутри Pandas, но не как обычный словарь Python. Вы можете создать такой словарь самостоятельно для отображения назад:

df['mycol'] = df['mycol'].astype('category')
d = dict(enumerate(df['mycol'].cat.categories))

Затем отложите карту назад:

df['mycol_codes'] = df['mycol'].cat.codes
df['mycol_reversed'] = df['mycol_codes'].map(d)

Будьте осторожны с этим методом. Убедитесь, что вы создали словарь сразу после преобразования в категории. При конкатенации данных с категориальными рядами вы можете найти изменения картографирования.

  • 1
    Лучшее решение! Величайший @jpp. Большое спасибо. Работал как по волшебству :)
0

не 100% на то, что вы просите, но вы пробовали например:

data['ga_sourceMedium_codes'].cat.categories

  • 0
    Получение error- AttributeError: Can only use .cat accessor with a 'category' dtype @ Андреем
  • 0
    вам нужно будет предоставить больше информации на ваш вопрос, если вы хотите получить лучший ответ. Пользователям SO трудно понять, о чем вы спрашиваете. у ваших категориальных переменных только одна категория? они все целые числа? как они выглядели заранее? и т.д. Чем больше информации вы предоставите, тем больше вам помогут
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню