我在正確遞增for循環內的計數器變量時遇到問題。for循環內的遞增計數器
我有一個名爲flag
的變量,我想根據flag
中的值創建一個名爲num
的新變量。
輸入:
'flag'
FALSE
TRUE
TRUE
TRUE
FALSE
TRUE
FALSE
TRUE
TRUE
所需的輸出:
'flag' 'num'
FALSE 1
TRUE 1
TRUE 1
TRUE 1
FALSE 2
TRUE 2
FALSE 3
TRUE 3
TRUE 3
的目標是從1開始的Num櫃檯,並保持該計數器在1至另一False
例如在flag
列發生。這將持續到df結束。
我的代碼:
def num(z):
i = 0
for x in range (0,len(z)):
if z['flg'] == False:
return i + 1
else:
return i
df['num']=df.apply(num, axis=1)
我試圖增加在許多地方,我反擊,但沒有運氣...
'z ['flg']'總是返回相同的東西。你的循環不會影響它。 –
另外,如果你打算使用'x'來索引'z',則遍歷'z.keys()',而不是它的長度。而且你不應該在循環中返回。你應該做'i = i + 1'並在循環結束時返回 – user1999728