我有两个数据框,通过Fama French和Yahoo的Pandas导入。我试图比较两个数据帧中的列值(更具体地说,从另一个数据帧中减去一个),但每当我尝试这样做时就会出现值错误。数据框有不同的索引,我不知道如何考虑这个因素(我对python和pandas很新)。
以下是相关代码:
start, end = dt.datetime.now()-dt.timedelta(days=60*30), dt.datetime.now()
f = data.DataReader('F-F_Research_Data_Factors', 'famafrench', start, end)[0]
s = data.get_data_yahoo('aapl', start, end)
s = s.resample('M', how='last')
s['returns'] = s['Adj Close'].pct_change()
理想情况下,我想创建一个行值= f ['RF']的系列 - s ['return']
非常感谢任何帮助。
答案 0 :(得分:1)
转换f.index
f.index = f.index.to_datetime() + pd.offsets.MonthEnd()
f['RF'] - s['returns']
答案 1 :(得分:-1)
问问自己,当两个矩阵的大小不同时,你怎么可能定义两个矩阵之间的差异?
首先要做的是匹配commmon值上的两个数据帧(比如日期)。然后您就可以进行任何想要的操作