gpt4 book ai didi

python - 将数据框列类型从整数更改为因子

转载 作者:行者123 更新时间:2023-11-30 23:31:50 26 4
gpt4 key购买 nike

我的 R 代码有以下简单的赋值:

 df$a<-factor(df$a,levels=c("3","2","1")) 

(级别的顺序在绘图中很重要,因此这可能必须通过这样的分配来完成)

如何使用 rpy2 获得相同的结果?假设我有一个像这样构建的 DataFrame:

from rpy2 import robjects

d = {'a': robjects.IntVector((1,2,3)), 'b': robjects.IntVector((4,5,6))}
dataf = robjects.DataFrame(d)

现在我想更改列'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

更改 DataFrame 中的列可以通过以下方式完成:

>>> dataf[dataf.index('a')] = v

注意:在 R 中,您很乐意给出数值(整数),同时将级别指定为字符串。 R 确实允许您默默地这样做,但请注意 R“因子”向量的内部表示是整数,并且这种混合可能会导致令人不快的意外。

关于python - 将数据框列类型从整数更改为因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19681392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com