首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何捕捉两个连续的变量递减?

如何捕捉两个连续的变量递减?
EN

Stack Overflow用户
提问于 2018-08-19 11:21:44
回答 1查看 33关注 0票数 1

我想要得到开始GDP连续两个季度下降的元素的指数。我的代码运行,并返回一个预期类型的值,但该值是错误的。一定是我在计算中遗漏了什么。

这是我的数据框:

代码语言:javascript
复制
       Quarter      GDP  GDP 2009 $
0   2000q1  10031.0     12359.1
1   2000q2  10278.3     12592.5
2   2000q3  10357.4     12607.7
3   2000q4  10472.3     12679.3
4   2001q1  10508.1     12643.3
5   2001q2  10638.4     12710.3
6   2001q3  10639.5     12670.1
7   2001q4  10701.3     12705.3
8   2002q1  10834.4     12822.3
9   2002q2  10934.8     12893.0
    ....     ....        .... 

下面是我的代码:

代码语言:javascript
复制
gdp_df['recession start'] = 0
i = 1
while i < (len(gdp_df)-1):
    row1 = gdp_df.iloc[i-1]
    row2 = gdp_df.iloc[i]
    row3 = gdp_df.iloc[i+1]
    if ((row3['GDP'] - row2['GDP']) < 0) and ((row2['GDP'] - row1['GDP']) < 0):
        gdp_df.iloc[i-1, 3] = 1
    i += 1
gdp_df = gdp_df.where(gdp_df['recession start'] == 1).dropna().iloc[0]
gdp_df = str(gdp_df['Quarter'])

return gdp_df
EN

回答 1

Stack Overflow用户

发布于 2018-08-19 11:33:56

问题出在

代码语言:javascript
复制
gdp_df.iloc[i, 3] = 1

我返回的是第二个值,因为我从1开始,而不是0。正确的代码如下: gdp_df.iloci-1,3=1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51914164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档