例如我有一个标签列形如: [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
嗎