2013-04-18 3 views
4

Использование python 2.7.3 и pandas 0.10.1, я получаю предупреждение об устаревании, когда я пытаюсь использовать операцию ** для вычисления мощности (математической, а не термодинамической). В документации он охватывает использование add, sub, mul и div для арифметических операций Series и DataFrame. Однако я не могу найти ничего, охватывающего ** для них, как в 3 ** 2 = 9. Что я могу сделать, кроме того, использовать ** и надеяться на лучшее?Расчет мощности в pandas

+0

Вы можете добавить предупреждение, которое вы получаете? – Pace

+0

Предупреждение (из модуля предупреждений): Файл «C: \ Python27 \ lib \ site-packages \ pandas \ core \ frame.py», строка 3578 FutureWarning) FutureWarning: широковещательная передача TimeSeries по индексу DataFrame по умолчанию устарела. Пожалуйста, используйте DataFrame. для явной передачи арифметических операций по индексу – chandradog

+0

Я бы ожидал чего-то вроде answer = foo.pow (bar) в соответствии с другими операциями. (И спасибо, что помогли мне.) – chandradog

ответ

6

Для вычисления возведения в степени между временными рядами и кадром данных следует сделать:

dataFrame.pow(timeSeries, axis=0) 

Для расчета возведения в степени между серией и скалярной еще можно сделать:

timeSeries ** exponent 
+0

ОК, спасибо. Я сделаю еще больше копания в моем конце, я должен делать что-то неправильно. – chandradog

+0

Просто для завершения здесь моя ошибка заключалась в неправильном использовании метода. Спасибо Pace за помощь. – chandradog

Смежные вопросы