Почему мой код застрял при выполнении сообщения

#python-3.x

#python-3.x

Вопрос:

Я пытаюсь написать код, который будет подсчитывать, сколько раз данные из определенного поля повторяются с течением времени, например

Во фрейме данных ниже, в столбце с надписью «Тест», я хочу вычислить количество раз, когда строки рядом друг с другом содержат «Жилой» в поле «тип». Написанное ожидаемое значение красным. Фрейм данных

Пока что я написал приведенный ниже код, но он остается застрявшим при выполнении сообщения.

 i=0
while i<= len(df):
    j=0
    k=i
    while df.iloc[k,7]=='Residential':
        j  =1
        df.at[k,15] =j
        k 1
    i =1    
  

Любая помощь была бы высоко оценена.
Спасибо!

Комментарии:

1. k 1 должно быть k = 1 (что довольно непонятно, потому что вы дважды правильно увеличиваете другие переменные в других частях cde.)

Ответ №1:

Все хорошо, мне удается найти решение, код был заблокирован во время цикла из-за ошибки опечатки

 bit= False
exe= True
for i in range (len(df)):
    if df.iloc[i,7] != 'Residential':
        bit= False
    if bit and i != 0:
        df.iloc[i,14]= df.iloc[(i-1),14]

    if not bit and df.iloc[i,7]=='Residential':
        counter=0
        k= i
        while df.iloc[k,7]=='Residential' and exe:
            bit= True
            counter  = 1
            df.iloc[i,14] = counter
            if k < (len(df)-1):
                k  = 1
            else:
                exe= False