我有一个数据框:
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 :(得分: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 :(得分:0)
不是您要问的100%,但是您是否尝试过例如:
data['ga_sourceMedium_codes'].cat.categories