Jump to content

Contagem de caracteres de uma coluna específica em um data frame


raze

Postagens Recomendadas

Em um data frame de 3 colunas estou tentando adicionar mais 2 colunas.

A primeira que incluí está concatenando a primeira e segunda coluna do DF.

A segunda gostaria de contar a quantidade de caracteres de um campo específico como LEN no SQL e NÚM.CARACT no excel.

 

Segue abaixo meu código:

 

import pandas as pd


dados =[
["JOAO", 20, "SAO PAULO"],
["PEDRO", 18, "SAO PAULO"],
["MARIA", 29, "MANAUS"],
]

 

df = pd.DataFrame(data=dados, columns=['Nome', 'Idade', 'Cidade'])
df.head()

 

df['STR'] = df['Nome'] + df['Idade'].astype('str')
df['LEN'] = len(df['Cidade'])

df

A resposta esperada seria

          Nome          Idade          Cidade                  STR          LEN

            JOAO          20           SAO PAULO       JOAO20           9

            PEDRO       18           SAO PAULO       PEDRO18         9

            MARIA        20           MANAUS            MARIA20         6

 

Porém, da forma como fiz, o LEN está retornando 3 para todas as linhas o que imagino ser a quantidade de vezes que existe uma cidade dentro do DF.

 

Alguem poderia me ajudar ?

 

Obrigado

 

Link to comment
Compartilhe em outros sites

  • Pessoal da TecnoSpeed

Olá @raze tudo bem?

Vamos lá, para resolver seu problema podemos utilizar o len( ) do python. ele retorna o tamanho de uma string, como no seu caso você deseja fazer isso para a coluna inteira do dataframe, podemos usar o apply.
Segue abaixo como ficaria o código.

df['len'] = df['Cidade'].apply(lambda x: len(x))
df

O apply funciona semelhante ao map, ele irá "aplicar" uma função para todos os itens da coluna. Portanto no exemplo acima passamos a lambda que é um jeito de declarar uma função in line para obter o tamanho de cada elemento.

Espero ter resolvido sua dúvida, também estou a disposição para quaisquer outras duvidas que possam surgir. 😀

  • Curtir 1
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...