python - 如何在 python 中的 rpy2 中从 R 数据框中选择列?

标签 python r dataframe rpy2

我在 python 的 rpy2 中有一个数据框,我想从中提取列。此 R 代码的 rpy2 等价物是什么?

df[,c("colA", "colC")]

这可以获取第一列:

mydf.rx(1)

但是我怎样才能拉出一组列,例如第一、第三和第五?

mydf.rx([1,3,5])

不起作用。也没有:

mydf.rx(rpy2.robjects.r.c([1,3,5]))

最佳答案

或者,您可以将 R 数据框传递到 Python pandas 数据框,并对结果的 1、3、5 列进行子集化:

#!/usr/bin/python
import rpy2
import rpy2.robjects as ro
import pandas as pd
import pandas.rpy.common as com

# SOURCE R SCRIPT INSIDE PYTHON 
ro.r.source('C:\\Path\To\R script.R') 

# DEFINE PYTHON DF AS R DF
pydf = com.load_data('rdf')
cols = pydf[[1,3,5]]

关于python - 如何在 python 中的 rpy2 中从 R 数据框中选择列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31497479/

相关文章:

python - 创建 twitch irc 机器人(登录身份验证失败)

r - 使用 ggplot 绘制时间序列中多个变量的平均值

python - 屏蔽 pandas DataFrame 中最大值之前出现的所有值

python - 当重复的行具有不同的值时,如何将它们合并为 DataFrame 上的一个

python - 如何从 DOC(而不是 DOCX)获取 XML?

python - 当 URL 存在时 urllib2 捕获 404 错误

python - 在 SQLAlchemy 中过滤时访问关系的 backref

r - glmmTMB 'giveCsparse' 每种型号中的警告

r - 是否有 R 函数用于将列表中的向量修剪为最小向量长度?

python - 如何在 python 中最好使用 pandas 添加表标题