Ошибка в делении ряда 2 панд на десятичные значения (ежедневная цена акций)

Я пытаюсь разделить 2 панды столбцов (тот же столбец, разделенный путем сдвига одной ячейки), но получаю ошибку, как показано ниже...

.. Это удивительно, так как я делал такие вычисления много раз прежде для данных временных рядов и никогда не сталкивался с этой проблемой.

Может кто-нибудь подсказать, что здесь происходит?... Я рассчитываю ежедневную доходность цены Adj Close на акцию, поэтому мне нужен ответ в десятичном виде.

1 ответ

Решение

Я думаю, что вам нужно преобразовать в float первый столбец, потому что dtype является objectчто очевидно string:

z = x.astype(float) / y.astype(float)

Или же:

data['Adj Close'] = data['Adj Close'].astype(float)
z = data['Adj Close'].shift(-1) / data['Adj Close']
Другие вопросы по тегам