2

我有两个数据框,通过 Pandas 从 Fama French 和 Yahoo 导入。我正在尝试比较两个数据框中的列值(更具体地说,从另一个中减去一个),但是每当我尝试这样做时都会出现值错误。数据框有不同的索引,我不知道如何考虑这个因素(我对 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['returns'] 的系列

任何帮助将非常感激。

4

2 回答 2

1

Convert f.index

f.index = f.index.to_datetime() + pd.offsets.MonthEnd()

f['RF'] - s['returns']
于 2016-08-05T17:40:09.483 回答
-1

问问自己,当两个矩阵的大小不同时,你怎么可能定义它们之间的差异?

首先要做的是将两个数据框匹配到一个共同的值(比如日期)上。然后你就可以做任何你想做的操作

于 2016-08-05T17:36:14.633 回答