Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Juntar duas series

Tenho duas series em um df, uma chamado "ano" e outra "mes", ambas do tipo integer. Como faço para junta-las em uma so series, de forma que a nova coluna fique assim? mes/ano. Por ex: 01/2022? Tentei fazer isso:

Janeiro['NOVA COMPETENCIA'] = Janeiro['NR_ANO'] + "/" + Janeiro['NR_MES']
Janeiro

Mas retorna o erro: UFuncTypeError: ufunc 'add' did not contain a loop with signature matching types (dtype('int64'), dtype('<U1')) -> None

Acho que é porque ele ta somando inteiro com object, pois quando eu removo o "/", ele soma o mes com o ano, exibindo, em uma nova coluna, o valor 23(considerando o mes 01 e o ano 2022). Gostaria de uma solucao o mais simples possível. Grato.

3 respostas

Olá, Rogério! Tudo bom?

Você precisar utilizar as pd.Series como tipo strings, e pra isso você pode usar as funções:

Janeiro['NR_ANO'].str ## Opção 1
Janeiro['NR_ANO'].astype(str) ## Opção 2

E por fim fazer essa troca na linha de código em que você faz a concatenação de strings, então é importante que os valores tratados nas Series sejam também strings.

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
solução!

Obrigado, ficou assim:

Janeiro['NOVA COMPETENCIA'] = Janeiro["NR_MES"].astype(str) + '/' +Janeiro["NR_ANO"].astype(str)
.

Olá, Rogério.

É exatamente isso. Você precisa passar as Series que está utilizando na hora de concatenar como o tipo string, usando uma das duas opções que comentei acima.