有没有办法在python / rpy2中访问R数据帧列名?

0范围

我有一个R数据框,保存在Database02.Rda中。正在加载

import rpy2.robjects as robjects
robjects.r.load("Database02.Rda")

工作正常。然而:

print(robjects.r.names("df"))

产量

NULL

同样,作为示例,列214(如果我们从0开始则为213)被命名为REGION。

print(robjects.r.table(robjects.r["df"][213]))

工作正常:

Region 1   Region 2   ...
    9811       3451   ...

但我们也应该能够

print(robjects.r.table("df$REGION"))

但是,这导致

df$REGION 
        1

(对于根本不存在的列名也是如此);还:

print(robjects.r.table(robjects.r["df"]["REGION"]))

给出一个错误:

TypeError: SexpVector indices must be integers, not str

现在,文档说,名称不能用于python中的子集。我是否正确地假设在使用python / rpy2加载数据框时未导入其余数据的列名?因此,我是否正确地认为,访问它们的最简单方法是将它们保存并加载为单独的列表,并在python中将名称映射到列索引号上构造一个字典?但是,这似乎不太通用。有没有一种方法可以直接提取列名?

我使用的R,python,rpy2的版本是:R:3.2.2 python:3.5.0 rpy2:2.7.8

lgautier

执行以下操作时,您正在将任何对象加载Database02.Rda到R的“全局环境”中。

import rpy2.robjects as robjects
robjects.r.load("Database02.Rda")

robjects.globalenv是一个环境您可以通过以下方式列出其内容:

tuple(robjects.globalenv.keys())

现在,我了解到您的一个对象称为df您可以通过以下方式访问它:

df = robjects.globalenv['df']

如果df是列表或数据框,则可以使用rx2文档再次成为您的朋友访问其命名元素要获得REGION,请执行以下操作:

df.rx2("REGION")

列出列表或数据框中的所有命名元素很容易:

tuple(df.names) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有办法在Python中包含±(正负)?

来自分类Dev

有没有办法在python中禁止舍入?

来自分类Dev

有没有办法关闭python中没有文件对象的文件?

来自分类Dev

有没有办法知道Python中没有索引的列表的哪个数字?

来自分类Dev

有没有办法在Python 2中访问分数的分母

来自分类Dev

有没有办法在POJO中访问SlingRepository?

来自分类Dev

有没有办法显示HTML中python数组中的所有元素?

来自分类Dev

有没有办法扩展swig / python中的所有类?

来自分类Dev

有没有办法在python脚本中获取变量的所有值?

来自分类Dev

有没有办法在Python中覆盖现有(系统)类上的方法?

来自分类Dev

有没有办法在R中与seq相乘?

来自分类Dev

有没有办法解决R中的方程?

来自分类Dev

有没有办法从值访问键?

来自分类Dev

有没有办法从 pycountry 库访问州名?

来自分类Dev

有没有办法擦除或分离Web抓取数据?在Python中

来自分类Dev

有没有办法在python中的两个数据行之间进行过滤?

来自分类Dev

有没有办法更改 Python 中的默认数据类型?

来自分类Dev

有没有办法让蟾蜍定期刷新数据

来自分类Dev

有没有办法在Hive中转置数据

来自分类Dev

有没有办法重用数据注释?

来自分类Dev

有没有办法遍历熊猫数据框?

来自分类Dev

有没有办法保存反应角色数据?

来自分类Dev

有没有办法表示休眠的数据视图?

来自分类Dev

有没有办法加入数据表?

来自分类Dev

有没有办法按数据取消分组

来自分类常见问题

有没有办法在PHP中扩展特征?

来自分类Dev

有没有办法清除JavaScript中的对象?

来自分类Dev

有没有办法重置Angular中的$ touched?

来自分类Dev

有没有办法在leveldb中更改键?

Related 相关文章

热门标签

归档