如何在熊猫系列中引用前/后值?

时间:2018-05-17 04:40:52

标签: python pandas vectorization series

我想在pandas系列对象中使用当前value AND前面的value。 目前,我正在尝试使用.iteritems()和嵌套if语句进行for循环迭代,如下所示:

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

    if value & "value+1":

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

我的DataFrame( gdp )就是这样:

 Quarter   Recession_start

 2000q1    False

 2000q2     False

 2000q3     True

 2000q4     True

 2001q1     False

我想知道如何引用不同的值。提前谢谢!

1 个答案:

答案 0 :(得分:2)

选项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