У меня есть данные о рыночных ценах для панд. Это средняя цена сделки с криптовалютой (Ethereum) в долларах США.
Я хочу создать функцию, которая будет принимать параметр в процентах. Идея состоит в том, что функция затем выведет целое число, где это целое число представляет общее количество дней, которое потребовалось для того, чтобы увидеть этот процент увеличения.
У Pandas есть функция под названием pct_change(periods=x)
, которая сообщит вам процентное изменение за определенный период. Я в основном ищу противоположность этой функции. Сколько дня понадобилось, чтобы достичь определенного процента роста.
наш фрейм данных:
ДФ
index ts quote base last_bid
0 2015-08-07 USD ETH 3.000000
1 2015-08-08 USD ETH 1.266663
2 2015-08-09 USD ETH 1.266663
3 2015-08-10 USD ETH 1.266663
4 2015-08-11 USD ETH 1.026667
from datetime import datetime, timedelta
import pandas as pd
for index, row in df.iterrows():
ndf = df['last_bid'].pct_change(periods=index)
print(ndf[ndf > .5])
Это дает мне каждый случай, когда каждая дата выполняет более чем 50% -ное увеличение цены. Тем не менее, я просто хочу Первые данные, где 50% достигается для каждой строки. И тогда цикл продолжится до следующего ряда.
В идеале, все эти выходные данные будут в одном кадре данных с той же схемой выше. С 3 дополнительными колоннами. 1. Дата, когда произошел наш процент прироста. 2. Фактически процентное изменение. 3. Разница между нашей датой начала и окончания.