Как ссылаться на предыдущие / последующие значения в серии панд? - PullRequest
0 голосов
/ 17 мая 2018

Я хочу использовать как текущий value, так и предшествующий value в объекте серии панд.В настоящее время я пытаюсь сделать это в цикле for с итерацией .iteritems() и вложенным if выражением, как показано ниже:

for index, value in gdp['Recession_start'].iteritems():

    if value & "value+1":

        Recession_start=gdp['Quarter'].iloc[index]
        print(Recession_start)

My DataFrame ( gdp )это:

 Quarter   Recession_start

 2000q1    False

 2000q2     False

 2000q3     True

 2000q4     True

 2001q1     False

Я хочу знать, как я мог бы ссылаться на другое значение.Заранее спасибо!

1 Ответ

0 голосов
/ 17 мая 2018

Вариант 1
shift с loc

df.loc[df.Recession_start & df.Recession_start.shift(-1), 'Quarter']

Опция 2
astype(int) с diff

df.loc[~df.Recession_start.astype(int).diff().ne(1), 'Quarter']

Оба результата:

2    2000q3
Name: Quarter, dtype: object

Python 3.6.4, Pandas 0.22.0

...