我想获取导致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
答案 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