Python熊猫到R数据框

我将在Python中将Python熊猫数据框转换为数据框。我发现这个问题很少有库

http://pandas.pydata.org/pandas-docs/stable/r_interface.html

这是rpy2

但我找不到保存或转移到R的方法。

首先我试着“to_csv”

df_R = com.convert_to_r_dataframe(df_total)
df_R.to_csv(direc+"/qap/detail_summary_R/"+"distance_"+str(gp_num)+".csv",sep = ",")

但它给了我一个错误

"AttributeError: 'DataFrame' object has no attribute 'to_csv'  "

所以我试图看到它的数据类型

<class 'rpy2.robjects.vectors.DataFrame'>

我怎么能把这个类型的对象保存到csv文件或传输到R?


rpy2.robjects.vectors.DataFrame类型的rpy2.robjects.vectors.DataFrame有一个方法to_csvfile ,而不是to_csv :http: to_csv

如果想要在Python和R之间传递数据,那么比写入和读取CSV文件更有效。 尝试转换系统:

from rpy2.robjects import pandas2ri
pandas2ri.activate()

from rpy2.robjects.packages import importr

base = importr('base')
# call an R function on a Pandas DataFrame
base.summary(my_pandas_dataframe)

获得data.frame后,可以使用write.table或后者的其中一个包装来保存它,例如writee.csv

在rpy2中:

import rpy2.robjects as robjects
## get a reference to the R function 
write_csv = robjects.r('write.csv')
## save 
write_csv(df_R,'filename.csv')

现在我推荐使用羽毛,这是一种基于Apache Arrow的序列化格式。 它由RStudio / ggplot2 / etc(Hadley Wickham)和pandas(Wes McKinney)的创建者为Python和R之间的性能和互操作性而明确开发(请参见此处)。

您需要大熊猫VERSON 0.20.0+, pip install feather-format ,那么你可以使用to_feather / read_feather操作作为直接替代了to_csv / read_csv

df_R.to_feather('filename.feather')
df_R = pd.read_feather('filename.feather')

R等价物(使用包feather )是

df <- feather::read_feather('filename.feather')
feather::write_feather(df, 'filename.feather')

除了一些小的调整(例如,你不能保存自定义的DataFrame索引,所以你需要先调用df.reset_index() ),这是一个快速简单的替代csvpickle等的替代品。

链接地址: http://www.djcxy.com/p/38405.html

上一篇: Python Pandas to R dataframe

下一篇: Is there a way to store a pandas data frame in R format?