如何捕捉2个连续变量减少?

时间:2018-08-19 03:21:44

标签: python pandas dataframe

我想获取导致GDP连续两个季度下降的元素的索引。我的代码运行,并返回期望类型的值,但是该值是错误的。在计算中肯定缺少某些东西...

这是我的数据框:

       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
    ....     ....        .... 

这是我的代码:

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

1 个答案:

答案 0 :(得分:0)

问题出在

.suggestedvids {
  margin-top: 2.5%;
}

.onevid {
  width: 100%;
  word-wrap: break-word;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: flex;
}

.thumbnail {
  height: 100%;
  width: auto;
}

.vidInfo {
  height: 100%;
  display: block;
}

自从1开始而不是0开始,我正在返回第二个值。 正确的代码是这样的:     gdp_df.iloc [i-1,3] = 1