我有一个DataFrame带有多个列的,一个Series。两者具有相同的特征DateTimeIndex。
我想从中的每一行的Series所有值中减去的每一行的值DataFrame
这是我的示例数据:
dates = pandas.date_range('20180101', periods=10)
stocks = ['AAPL', 'GOOG', 'MSFT', 'AMZN', 'FB']
data = numpy.random.randn(10,5)
prices = pandas.DataFrame(index=dates, columns=stocks, data=data)
returns = prices.pct_change(1)
这使我DataFrame类似于以下内容
然后创建我的Series
,这是一篮子股票的回报
basket = returns.mean(axis=1)
这使我Series
类似于以下内容
现在我想从每只股票的收益中减去一揽子收益:
excess_ret = returns - basket
我收到以下警告:
RuntimeWarning: Cannot compare type 'Timestamp' with type 'str', sort order is
undefined for incomparable objects
return this.join(other, how=how, return_indexers=return_indexers)
这是结果DataFrame:
这曾经在中工作pandas-0.16.2
,但我现在正在使用pandas-0.22.0
,看来我现在无法Series
从DataFrame
具有匹配项的a中减去a Indexes
?
问题:
我当前正在执行的减法操作中发生了什么?
如何从中的每一行的Series
所有值中减去中的每一行的值DataFrame
?
Cats萌萌
相关分类