python - 为什么 'rmagic' %R 在读取文件时会导致错误,而 %%R 不会?

标签 python r csv pandas dataframe

使用rmagic,在读取 a particular file 时,%R%%R 之间的行为不一致(而不是其他人):为什么

%%R

usda = read.csv("USDA.csv")

工作的同时

%R usda = read.csv("USDA.csv")

失败

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-64-01ec3b4742c8> in <module>()
----> 1 get_ipython().magic(u'R usda = read.csv("USDA.csv")')

...

/Library/Python/2.7/site-packages/numpy/core/numeric.pyc in asarray(a, dtype, order)
    458 
    459     """
--> 460     return array(a, dtype, copy=False, order=order)
    461 
    462 def asanyarray(a, dtype=None, order=None):

TypeError: __float__ returned non-float (type rpy2.rinterface.NAIntegerType)

同样,这只发生在 the linked file 上。 ,而不是我尝试过的任何其他人。

最佳答案

这是我以前见过的缺失值处理问题。每当您有缺失值时,它都应该发生。我不确定我们是否应该将其视为错误。但是%R -n usda = read.csv('USDA.csv')使用 numpy 抑制返回(a array -n )将避免这个问题。

还应该注意,如果您 %Rpull usda之后%R -n usda = read.csv('USDA.csv') ,您应该同样得到相同的异常。

如果你想在 python 之间来回传输数据和R在这种情况下,请使用 pandas 读取它然后convert_to_r_dataframeconvert_robject我认为效果会更好。

关于python - 为什么 'rmagic' %R 在读取文件时会导致错误,而 %%R 不会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22749489/

相关文章:

python - 用 Python 编码日语

python - pyserial readline() : SerialException

r - 有条件地将列的第一个字符(或前两个字符)替换为该行另一列 (R) 中的值

R基于数字将整数列转换为3因子列

json - 用jq获取JSON中数组元素的索引

java - 将制表符分隔的列读入列表 - Java

python - 如何在 Python 的 scikit-learn 中访问树深度?

python - 有没有办法在没有文件对象的情况下关闭 python 中的文件?

r - 根据公共(public)值合并同一数据框中的行

java - 对大型 csv 文件进行快速排序