pandas - 标签编码时保持顺序

标签 pandas scikit-learn data-science

当标签编码数字

[1, 1, 2, 6]

LabelEncoder 返回 [0,0,1,2] 因为它对类进行排序

通过保留原始顺序获得 [1,1,0,2] 的最佳方法是什么

尝试过 - CategoricalIndex,其工作方式相同

from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit([2, 1, 2, 6])

# le.classes_ [1,2,6]

le.transform([1, 1, 2, 6]) 

最佳答案

我们可以使用分解

pd.factorize([2, 1, 2, 6])[0]
array([0, 1, 0, 2])

关于pandas - 标签编码时保持顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57066624/

相关文章:

python - Pandas 合并数据框

python - 基于多列的运行计数

python - 与 xgboost.cv 相比,GridSearchCV 未给出与预期相同的结果

python - 等同于 Python 中 R 的 createDataPartition

machine-learning - 我可以使用 scikit-learn 管道仅转换特定变量吗?

python - 从 Pandas 中的 groupby .agg() 或 .apply() 有效地创建全新的数据框?

python - 如何从 Pandas 中提取列表?

machine-learning - fizyr 使用 Retinanet 进行汽车损坏检测的过度拟合(回归和分类)

python - 试图将四阶回归多项式拟合到散点图,但我得到了一个奇怪的结果

python - 如何可视化作者分布?