#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