虽然循环不会中断并无限运行(Python)

问题描述 投票:0回答:1

我已经从一个时间序列创建了一个数据框(布尔值)(如果值大于x,则在特定日期为true;如果值小于x,则为false)。我试图循环进入此数据帧-每当遇到真值时,我都想更新计数器;如果为假,我想中断并打印更新的计数器。看起来像这样,但是while循环不会中断-关于我在这里缺少什么的任何想法?在此先感谢

k=0
dataa='2019-11-01'
for index in df_resz[dataa:].iterrows():
    while (df_resz.loc[dataa,'bool_resz']==True):
            k=k+1
    else:
        break
print (k)
python pandas loops while-loop break
1个回答
0
投票

如果我正确理解了您的问题,则您的目标是迭代一个数据框列并求和True值,直到找到False。如果是这样:

>>> dict = {'value':[True, True, False, True]}
>>> df = pd.DataFrame(dict)
>>> df
   value
0   True
1   True
2  False
3   True
>>> counter = 0
>>> for i, j in df.iterrows():
...     if j.value == True:
...             counter += 1
...     else:
...             break
... 
>>> counter
2
© www.soinside.com 2019 - 2024. All rights reserved.