Olá, bom dia! Tudo bem? Estou buscando criar o controle de pneus por "Km Rodado por Vida", nisso teria que gerar uma coluna condicional no banco tratando no histórico em que vida o pneu se encontra na "data do evento", tipo ele começar com a vida "1" e quando chegar no evento "10" ele muda para vida "2" e assim incrementando conforme tendo esse evento. Então a forma que pensei para isso seria gerar uma coluna condicional que começaria com "1" e mudaria conforme o evento "10"(Reforma) para incrementar mais uma vida. Só que me gerou um problema no incremento, ele gerou para o primeiro pneu corretamente, mas posteriormente na interação não incrementou corretamente para os CD_PNEU posterior, segue abaixo código python:
df['VIDA'] = 1
ll = df.CD_PNEU.drop_duplicates().to_list()
for y in ll:
vida = 1
tam = len(df[df['CD_PNEU'] == y])
#print(tam) # Para setar a quantidade de eventos de pneu que separa por CD_PNEU
#print(range(tam)) # range(0, 4) -- Percorre o total de evento de Pneu
for x in range(tam):
#print(x) # Lista os eventos de cada pneu e conta
#evento = df.loc[x, 'CD_EVENTO'] == 10
#print(df.drop_duplicates(['CD_PNEU','VIDA']))
evento = df.loc[x, 'CD_EVENTO'] == 10
#print(evento) # Campo booleano testando a regra do evento = 10 em cima do interador "x"
if evento: #evento dando verdadeiro
c = x # interador
#print(c)
vida += 1 #incrementador
#print(vida)
print('a', vida, x)
df['VIDA'][c+1] = vida
while c < tam:
#print(c, tam, vida)
#print(tam)
df['VIDA'][c+1] = vida
c+=1
else:
pass
#print('b', vida, x)