У меня есть 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
, похожее на следующее
![enter image description here](https://i.stack.imgur.com/nqYe9.png)
Затем я создаю Series
, то есть возврат корзины акций
basket = returns.mean(axis=1)
Это дает мне Series
, похожее на следующее
![enter image description here](https://i.stack.imgur.com/NAZbd.png)
Теперь я хочу вычесть возврат корзины из возвратов каждой акции:
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
:
![enter image description here](https://i.stack.imgur.com/uLTv4.png)
Этот использовал для работы в pandas-0.16.2
, но сейчас я использую pandas-0.22.0
, и кажется, что я не могу вычесть Series
из DataFrame
с соответствием Indexes
сейчас
Вопросы:
- Что происходит в этой операции вычитания, которую я сейчас выполняю?
- Как вычесть значение каждой строки в
Series
из всех значений в каждой строке в DataFrame
?