Python 将数据帧列类型从整数更改为因子
我在R中的代码具有以下简单赋值:Python 将数据帧列类型从整数更改为因子,python,r,dataframe,rpy2,Python,R,Dataframe,Rpy2,我在R中的代码具有以下简单赋值: df$a<-factor(df$a,levels=c("3","2","1")) 现在我想更改列'a'的类型,并设置其中的级别顺序,就像我在R中所做的那样。是否可以使用rpy?来固定R因子中的级别: >>> from rpy2.robjects.vectors import FactorVector, IntVector >>> v = FactorVector((1,2,3), levels=IntVector(
df$a<-factor(df$a,levels=c("3","2","1"))
现在我想更改列
'a'
的类型,并设置其中的级别顺序,就像我在R中所做的那样。是否可以使用rpy?来固定R因子中的级别:
>>> from rpy2.robjects.vectors import FactorVector, IntVector
>>> v = FactorVector((1,2,3), levels=IntVector((3,2,1)))
>>> print(v)
[1] 1 2 3
Levels: 3 2 1
可以通过以下方法更改数据帧中的列:
>>> dataf[dataf.index('a')] = v
注意:在R中,您很乐意给出数值(整数),同时将级别指定为字符串。R确实允许您以静默的方式执行此操作,但请注意,R“factor”向量的内部表示形式是整数,这种混合可能会导致令人不快的意外
>>> dataf[dataf.index('a')] = v