微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 如何知道由astype(‘category’)指定的标签.cat.codes?

我有以下数据框称为语言

         lang          level
0      english         intermediate
1      spanish         intermediate
2      spanish         basic
3      english         basic
4      english         advanced
5      spanish         intermediate
6      spanish         basic
7      spanish         advanced

我通过使用将每个变量分类为数字

language.lang.astype( ‘类别’).cat.codes

language.level.astype( ‘类别’).cat.codes

分别.获取以下数据框:

      lang   level
0      0       1
1      1       1
2      1       0
3      0       0
4      0       2
5      1       1
6      1       0
7      1       2

现在,我想知道是否有办法获得哪个原始值对应于每个值.我想知道lang列中的0值对应于英语,依此类推.

是否有任何功能可以让我收回这些信息?

解决方法:

你可以生成字典:

c = language.lang.astype('category')

d = dict(enumerate(c.cat.categories))
print (d)
{0: 'english', 1: 'spanish'}

那么如果有必要可以映射:

language['code'] = language.lang.astype('category').cat.codes

language['level_back'] = language['code'].map(d)
print (language)
      lang         level  code level_back
0  english  intermediate     0    english
1  spanish  intermediate     1    spanish
2  spanish         basic     1    spanish
3  english         basic     0    english
4  english      advanced     0    english
5  spanish  intermediate     1    spanish
6  spanish         basic     1    spanish
7  spanish      advanced     1    spanish

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐