我无法将DataFrame
Python 中的 pandas 转换为 R 对象,以便将来使用 rpy2 在 R 中使用。
新的 pandas 版本 0.8.0(几周前发布)具有将 pandas DataFrames 转换为 R DataFrames 的功能。问题在于转换我的 pandas DataFrame 的第一列,该列由 python datetime 对象(依次按时间序列)组成。转换为 R 数据帧返回日期和时间的 StrVector,而不是我认为称为“POSIXct”对象的 R 日期时间类型对象的向量。
我知道使用命令“as.POSIXct('yyyy-mm-dd hh:mm:ss')”将返回类型的字符串转换为 POSIXct 的命令。不幸的是,我无法弄清楚使用 python 和 rpy2 将 StrVector 中的所有这些字符串转换为 POSIXct 的方法。日期需要采用 POSIXct 格式才能与 R 中的 TTR 库一起使用。下面是相关的 python 代码:
import pandas
from pandas import *
import pandas.rpy.common as com
import rpy2.robjects as robjects
r = robjects.r
r.library('TTR') #library contains the function ADX, to be used later
dataframe = read_csv('file_name', parse_dates = [0], names = ['Date','Col1','Col2','Col3'] #command makes 1st column into datetime.datetime object
r_dataframe = com.convert_to_r_dataframe(dataframe)
ADX = r['ADX'] #creating a name for an R function in python
adx = ADX(r_dataframe) #will not work because the dates in r_dataframe are in a StrVector
此外,由于 StrVector 的定义,我不相信可以迭代 StrVector 以将每个对象单独转换为 POSIXct 对象。也许有一种方法可以将 StrVector 转换为通用的?
非常感谢您对此事的任何帮助/见解。我是一名新手程序员,现在已经为此工作了几个小时,但无济于事。
谢谢!