Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/pandas/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pandas.factorize是否保留变量的顺序性质?_Pandas_Sklearn Pandas - Fatal编程技术网

使用pandas.factorize是否保留变量的顺序性质?

使用pandas.factorize是否保留变量的顺序性质?,pandas,sklearn-pandas,Pandas,Sklearn Pandas,我在一列中有一组字符串,我使用pandas.factorize为其导出了数值。但是在转换之后,我注意到该列的数据类型是int 列中的字符串本质上是顺序的,因此数字应该表示顺序,而不是仅指定为int。我应该使用“as.type”将数字列转换为类别,还是可以将该列输入机器学习模型而不转换为类别 示例:[T0、T1、T2]表示癌症的严重程度。分解后的结果为[0,1,2]。但我怀疑它是否建立了0之间的关系 这将在分解分类变量后创建顺序 这是在最新版本的pandas中对分类变量进行因式分解后创建的顺序,“

我在一列中有一组字符串,我使用pandas.factorize为其导出了数值。但是在转换之后,我注意到该列的数据类型是int

列中的字符串本质上是顺序的,因此数字应该表示顺序,而不是仅指定为int。我应该使用“as.type”将数字列转换为类别,还是可以将该列输入机器学习模型而不转换为类别

示例:[T0、T1、T2]表示癌症的严重程度。分解后的结果为[0,1,2]。但我怀疑它是否建立了0之间的关系 这将在分解分类变量后创建顺序


这是在最新版本的pandas中对分类变量进行因式分解后创建的顺序,“参数无效,已被弃用”认为您在这种情况下很幸运。。。默认行为似乎是按字母顺序的…?字母顺序,在某些情况下是字母数字。然而,factorize能够识别这两种情况下的顺序。我确实考虑过使用分类,但有些栏目有10-15级。我假设分解因子然后转换为类别是一种有效的编码方式,而不是在最新版本的pandas中指定level,“该参数无效,已被弃用”认为您在这种情况下很幸运。。。默认行为似乎是按字母顺序的…?字母顺序,在某些情况下是字母数字。然而,factorize能够识别这两种情况下的顺序。我确实考虑过使用分类,但有些栏目有10-15级。我假设分解然后转换为类别是一种有效的编码方式,而不是指定级别
from pandas.api.types import CategoricalDtype
data['A'].astype(CategoricalDtype(ordered = True))