carlosfarias Posted August 12, 2022 Share Posted August 12, 2022 Estou com um problema para fazer um incremento +1 conforme o valor da coluna "Qtd_cartoes". Preciso incrementar +1 no valor de "Nº_cartão" anterior conforme a coluna "Qtd_cartoes". No exemplo da imagem, deveria adicionar +1 ao numero anterior, 56 vezes. Depois que adicionar as 56 vezes, segue para um outro "Nº_cartão", adicionando +1 conforme a nova quantidade. Já tentei utilizar o código abaixo e não funcionou. df_rep['value'] = np.where(df_rep['Qtd_cartoes'] > 1, df_rep['Nº_cartão'] + 1, df_rep['Nº_cartão']) Como deve ficar: Nº_cartão - Qtd_cartoes 40327 - 56 40328 - 56 40329 - 56 40330 - 56 40331 - 56 40332 - 56 ... ... 40853 - 112 40854 - 112 40855 - 112 ... ... Link to comment Share on other sites More sharing options...
Pessoal da TecnoSpeed Thanael Posted August 12, 2022 Pessoal da TecnoSpeed Share Posted August 12, 2022 Olá @carlosfarias segue abaixo um jeito de realizar o que você deseja. 👍 for qtd in df['Qtd_cartoes'].unique(): numero = 0 for index,row in df.iterrows(): if df.loc[index,'Qtd_cartoes'] == qtd: df.loc[index,'N°_cartão'] = df.loc[index,'N°_cartão'] + numero numero += 1 Com isso você terá o seguinte resultado. DataFrame antes do script DataFrame após o script Validação (Verifique os cartões de número 853) Enfim espero que isso resolva sua dúvida, caso contrário fico a disposição para lhe ajudar. 😀 Link to comment Share on other sites More sharing options...
carlosfarias Posted August 15, 2022 Author Share Posted August 15, 2022 Em 12/08/2022 at 16:50, Thanael disse: Olá @carlosfarias segue abaixo um jeito de realizar o que você deseja. 👍 for qtd in df['Qtd_cartoes'].unique(): numero = 0 for index,row in df.iterrows(): if df.loc[index,'Qtd_cartoes'] == qtd: df.loc[index,'N°_cartão'] = df.loc[index,'N°_cartão'] + numero numero += 1 Com isso você terá o seguinte resultado. DataFrame antes do script DataFrame após o script Validação (Verifique os cartões de número 853) Enfim espero que isso resolva sua dúvida, caso contrário fico a disposição para lhe ajudar. 😀 É exatamente isso que preciso, porém fui testar aqui e esta dando o seguinte erro. Saberia me dizer o porquê? Link to comment Share on other sites More sharing options...
carlosfarias Posted August 17, 2022 Author Share Posted August 17, 2022 Bom dia @Thanael consegues me ajudar nesse erro? Link to comment Share on other sites More sharing options...
Pessoal da TecnoSpeed Thanael Posted August 17, 2022 Pessoal da TecnoSpeed Share Posted August 17, 2022 Bom dia @carlosfarias, tenta fazer o seguinte, antes do FOR executa df.reset_index() Para resetar os index ai tenta executar normalmente o código. Caso mesmo assim não funcionar poderia me mandar um print do dataframe contendo os index? igual na imagem que mandei anteriormente. Link to comment Share on other sites More sharing options...
carlosfarias Posted August 17, 2022 Author Share Posted August 17, 2022 Consegui corrigir o erro. Agradeço pela ajuda. Muito Obrigado amigo. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now