Мне нужна помощь в расчете процента прибыли/убытка. У меня есть фрейм данных следующим образом
Date Price
2017-5-20 50
2017-5-20 60
2017-5-20 45
Мне нужен новый столбец в фрейме данных, который вычисляет процент прибыли или убытка последовательных строк, например
Date Price Prof/Loss
2017-5-20 50 0
2017-5-20 60 16.66
2017-5-20 45 -23.07
Я думаю, вы имели в виду df['Prof/Loss'] = [0, 16.66, -23.07]
ха-ха :P
это просто (45-60)/100
да. Я не могу его выполнить. Не могли бы вы помочь с этим?
@PranayDishan Как ты можешь задавать вопрос, если не знаешь, в чем твой вопрос?
df = pd.DataFrame()
df['Date'] = ['2017-05-20', '2017-05-20', '2017-05-20']
df['Price'] = [50, 60, 45]
df['Prof/Loss'] = (df['Price'] / df['Price'].shift())*100 - 100
Во-первых, я думаю, что ваша математика для расчета убытка/прибыли была неправильной, надеюсь, я исправил это для вас.
Во-вторых, вы можете использовать метод .сдвиг() для получения предыдущей строки и использовать .shift(-1) для получения следующей строки.
Спасибо большое, пыльник-мы. Это сработало с моей реальной работой, которую я делаю. И да, мой расчет был неправильным, спасибо, что поправили меня.
Пожалуйста, не забудьте отметить свой вопрос как решенный :)
Как вы получили
-23.07
? а что вы пробовали?