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

2024-03-29 08:52:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在pandas series对象中同时使用当前的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)

我的数据帧(gdp)是这样的:

 Quarter   Recession_start

 2000q1    False

 2000q2     False

 2000q3     True

 2000q4     True

 2001q1     False

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


Tags: 对象falsetruepandasforindexifvalue
1条回答
网友
1楼 · 发布于 2024-03-29 08:52:58

选项1 shiftloc

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

相关问题 更多 >