Использование Pandas shift () в цикле Python for - PullRequest
0 голосов
/ 28 сентября 2018

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

for i in range(0, len(df)+1, 12): #from 0 to end step 12
    dfx = df.loc[i:i+11]
    dfx.set_index('Date', inplace=True)
    dfx = dfx.pct_change()
    dfx = dfx.tshift(-i) #shifting
    dfx['Close'].plot(ax=ax1)

Спасибо

1 Ответ

0 голосов
/ 29 сентября 2018

Как оказалось, в shift () нет ничего плохого.Фрейм данных индексируется по дате после сдвига, и мне просто нужно было сбросить индекс.

for i in range(0, len(df)+1, 12): #from 0 to end step 12    
    dfx = df.loc[i:i+11]
    dfx.set_index('Date', inplace=True)
    dfx = dfx.tshift(-100) #shifting
    **dfx = dfx.reset_index()**

.. но теперь он не показывает даты на оси х, aghrrr ...

...