Como adicionar zeros à esquerda em strings no pandas


Você pode usar a seguinte sintaxe para adicionar zeros à esquerda a strings em um DataFrame do pandas:

 df[' ID '] = df[' ID ']. apply (' {:0>7} '. format )

Esta fórmula específica adiciona quantos zeros à esquerda forem necessários às strings na coluna denominada “ID” até que cada string tenha um comprimento de 7 .

Sinta-se à vontade para substituir 7 por outro valor para adicionar um número diferente de zeros à esquerda.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: Adicionar zeros iniciais a strings em Pandas

Digamos que temos o seguinte DataFrame do pandas que contém informações sobre vendas e reembolsos de várias lojas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' ID ': ['A25', 'B300', 'C6', 'D447289', 'E416', 'F19'],
                   ' sales ': [18, 12, 27, 30, 45, 23],
                   ' refunds ': [1, 3, 3, 2, 5, 0]})

#view DataFrame
print (df)

        ID sales refunds
0 A25 18 1
1 B300 12 3
2 C6 27 3
3 D447289 30 2
4 E416 45 5
5 F19 23 0

Observe que os comprimentos das strings na coluna “ID” não são todos iguais.

No entanto, podemos ver que a string mais longa tem 7 caracteres.

Podemos usar a seguinte sintaxe para adicionar zeros à esquerda às strings na coluna ‘ID’ para que cada string tenha um comprimento de 7 :

 #add leading zeros to 'ID' column
df[' ID '] = df[' ID ']. apply (' {:0>7} '. format )

#view updated DataFrame
print (df)

        ID sales refunds
0 0000A25 18 1
1 000B300 12 3
2 00000C6 27 3
3 D447289 30 2
4 000E416 45 5
5 0000F19 23 0

Observe que zeros à esquerda foram adicionados às strings na coluna “ID” para que cada string tenha agora o mesmo comprimento.

Nota : Você pode encontrar a documentação completa da função apply no pandas aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Como imputar valores ausentes em pandas
Como contar valores faltantes em pandas
Como preencher valores NaN com média em pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *