为了账号安全,请及时绑定邮箱和手机立即绑定

pandas或者sklearn中如何将字符形式的标签数字化

pandas或者sklearn中如何将字符形式的标签数字化

绝地无双 2019-02-20 20:47:08
例如我有一个标签列形如: [A,A,A,B,B,C,C,C,C]转化为: [0,0,0,1,1,2,2,2,2] pandas和scikit-learn中有简单的实现吗? 另外大家在学习一个新的包时是怎样根据问题找到文档的具体位置的?有啥经验可以交流下吗?谢谢啦!
查看完整描述

4 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

pandas中是非常容易实现的,转换成Categories对象即可。术语叫做因子和水平,水平一般都会自动转成数字储存。

c = ['A','A','A','B','B','C','C','C','C']
category = pd.Categorical(c)

接下来查看category的label即可

print category.labels
查看完整回答
反对 回复 2019-03-04
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

这只是个映射的逻辑而已,根本没必要用pandas和scikit-learn,大材小用了嘛

a = ['A','A','A','B','B','C','C','C','C']
result = [x for x in map(lambda c: ord(c) - ord('A'), a)]

如果非要说用pandas,那么这不正好是 Series

import pandas as pd
a = ['A','A','A','B','B','C','C','C','C']
result = pd.Series(a).map(lambda c: ord(c) - ord('A'))
查看完整回答
反对 回复 2019-03-04
  • 4 回答
  • 0 关注
  • 1029 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信