84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
例如我有一个标签列形如: [A,A,A,B,B,C,C,C,C]转化为: [0,0,0,1,1,2,2,2,2]
pandas和scikit-learn中有简单的实现吗?
另外大家在学习一个新的包时是怎样根据问题找到文档的具体位置的?有啥经验可以交流下吗?谢谢啦!
ringa_lee
pandas中是非常容易实现的,转换成Categories对象即可。术语叫做因子和水平,水平一般都会自动转成数字储存。
pandas
c = ['A','A','A','B','B','C','C','C','C'] category = pd.Categorical(c)
接下来查看category的label即可
print category.labels
sklearn中有现成的:
preprocessing.LabelEncoder().fit_transform(data)
详见官方文档
就可以直接字符数字间的转换了
没有实际运用过,不知道map函数能否实现你的需求,具体参考文档http://pandas.pydata.org/pand...
map
这只是个映射的逻辑而已,根本没必要用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吗
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'))
pandas
中是非常容易实现的,转换成Categories对象即可。术语叫做因子和水平,水平一般都会自动转成数字储存。接下来查看category的label即可
sklearn中有现成的:
详见官方文档
就可以直接字符数字间的转换了
没有实际运用过,不知道
map
函数能否实现你的需求,具体参考文档http://pandas.pydata.org/pand...
这只是个
映射
的逻辑而已,根本没必要用pandas和scikit-learn,大材小用了嘛如果非要说用pandas,那么这不正好是
Series
吗