python – 适合Pandas df的LabelEncoder顺序

python – 适合Pandas df的LabelEncoder顺序,第1张

概述我在大熊猫 df的一个专栏上安装scikit-learn LabelEncoder. 如何确定遇到的字符串映射到整数的顺序?这是确定性的吗? 更重要的是,我可以指定此订单吗? import pandas as pdfrom sklearn import preprocessingdf = pd.DataFrame(data=["first", "second", "third", "four 我在大熊猫 df的一个专栏上安装scikit-learn LabelEncoder.

如何确定遇到的字符串映射到整数的顺序?这是确定性的吗?

更重要的是,我可以指定此订单吗?

import pandas as pdfrom sklearn import preprocessingdf = pd.DataFrame(data=["first","second","third","fourth"],columns=['x'])le = preprocessing.LabelEncoder()le.fit(df['x'])print List(le.classes_)### this prints ['first','fourth','second','third']encoded = le.transform(["first","fourth"]) print encoded### this prints [0 2 3 1]

我希望le.classes_为[“first”,“second”,“third”,“4th”],然后编码为[0 1 2 3],因为这是字符串出现在列中的顺序.可以这样做吗?

解决方法 它按排序顺序完成.在字符串的情况下,它按字母顺序完成.没有相关的文档,但是查看 LabelEncoder.transform的源代码,我们可以看到工作主要委托给函数 numpy.setdiff1d,其中包含以下文档:

Find the set difference of two arrays.

Return the sorted,unique values in ar1 that are not in ar2.

(强调我的).

请注意,由于未记录,因此可能已实现实现,并且可以在不同版本之间进行更改.可能只是我看起来的版本使用排序顺序,而其他版本的scikit-learn可能会改变这种行为(通过不使用numpy.setdiff1d).

总结

以上是内存溢出为你收集整理的python – 适合Pandas df的LabelEncoder顺序全部内容,希望文章能够帮你解决python – 适合Pandas df的LabelEncoder顺序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存