使用pandas.factorize是否保留变量的顺序性质?
我在一列中有一组字符串,我使用pandas.factorize为其导出了数值。但是在转换之后,我注意到该列的数据类型是int 列中的字符串本质上是顺序的,因此数字应该表示顺序,而不是仅指定为int。我应该使用“as.type”将数字列转换为类别,还是可以将该列输入机器学习模型而不转换为类别 示例:[T0、T1、T2]表示癌症的严重程度。分解后的结果为[0,1,2]。但我怀疑它是否建立了0之间的关系 这将在分解分类变量后创建顺序使用pandas.factorize是否保留变量的顺序性质?,pandas,sklearn-pandas,Pandas,Sklearn Pandas,我在一列中有一组字符串,我使用pandas.factorize为其导出了数值。但是在转换之后,我注意到该列的数据类型是int 列中的字符串本质上是顺序的,因此数字应该表示顺序,而不是仅指定为int。我应该使用“as.type”将数字列转换为类别,还是可以将该列输入机器学习模型而不转换为类别 示例:[T0、T1、T2]表示癌症的严重程度。分解后的结果为[0,1,2]。但我怀疑它是否建立了0之间的关系 这将在分解分类变量后创建顺序 这是在最新版本的pandas中对分类变量进行因式分解后创建的顺序,“
这是在最新版本的pandas中对分类变量进行因式分解后创建的顺序,“参数无效,已被弃用”认为您在这种情况下很幸运。。。默认行为似乎是按字母顺序的…?字母顺序,在某些情况下是字母数字。然而,factorize能够识别这两种情况下的顺序。我确实考虑过使用分类,但有些栏目有10-15级。我假设分解因子然后转换为类别是一种有效的编码方式,而不是在最新版本的pandas中指定level,“该参数无效,已被弃用”认为您在这种情况下很幸运。。。默认行为似乎是按字母顺序的…?字母顺序,在某些情况下是字母数字。然而,factorize能够识别这两种情况下的顺序。我确实考虑过使用分类,但有些栏目有10-15级。我假设分解然后转换为类别是一种有效的编码方式,而不是指定级别
from pandas.api.types import CategoricalDtype
data['A'].astype(CategoricalDtype(ordered = True))