用python调用R程序出现的问题 2018-8-25

俗话说的好“福无双至,祸不单行”。果然前一阵出现了两个问题,结果前天告诉我比赛获奖了,睡前1w,丢自行车的钱能补回来了。高兴不到5个小时呢,我查了查参加的一项考试,果然挂科了。真tm。

今天用Python调用R语言的时候,出现了一个问题

NotImplementedError: Conversion 'py2ri' not defined for objects of type '<class 'pandas.core.series.Series'>'

我在Stack Overflow社区的找到了解决的方法,我的问题差不多,是DataFrame不能转化,但是解决方法都一样。

https://stackoverflow.com/questions/30922213/minimal-example-of-rpy2-regression-using-pandas-data-frame

这个是原版。

我想做的是将Python中的变量应用到R中去,但是报错说R中没有函数能处理pd.dataframe的函数。因此需要做一个变量转换。

百度了很多rpy2包的使用,变量的转换。没卵用,讲解的都差不多。基本上原创就一个,剩下的所有的人都转载人家原创一篇的。讲的是用**vector()函数变换的,不管事。

所以最终解决办法就是用:

from rpy2.robjects import pandas2ri
pandas2ri.activate()
robjects.globalenv['dataframe'] = dataframe

 这几行命令解决。注意第二行的命令 activate这个必须要加进去,第三行才不能报错。我先开始试了半天,真特么。至于原问题的代码

import pandas.rpy.common as common
robjects.globalenv['dataframe']\
   = common.convert_to_r_dataframe(dataframe) 

根本就不对。反正我用的是Python3,错误的内容是 pandas模块根本没有rpy

猜你喜欢

转载自blog.csdn.net/bingfeiqiji/article/details/82051710