DataFrame
rpy2を使用してRで将来使用するために、PythonのパンダをRオブジェクトに変換するのに問題があります。
新しいパンダリリース0.8.0(数週間前にリリース)には、パンダDataFramesをRDataFramesに変換する機能があります。問題は、Pythonの日時オブジェクトで構成されるパンダのDataFrameの最初の列を変換することです(時系列で)。Rデータフレームへの変換では、「POSIXct」オブジェクトと呼ばれるR日時型オブジェクトのベクトルではなく、日付と時刻のStrVectorが返されます。
コマンド「as.POSIXct('yyyy-mm-ddhh:mm:ss')」を使用して、POSIXctに返されるタイプの文字列を変換するコマンドを知っています。残念ながら、Pythonとrpy2を使用して、StrVector内のこれらすべての文字列をPOSIXctに変換する方法を理解できませんでした。RのTTRライブラリで使用するには、日付がPOSIXct形式である必要があります。関連する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を一般的なものにキャストする方法はありますか?
この問題に関するヘルプ/洞察は大歓迎です。私は初心者のプログラマーであり、これに数時間取り組んできましたが、役に立ちませんでした。
ありがとうございました!