Como compensar uma coluna no pandas: com exemplos


Você pode usar a função shift() para mover valores para cima ou para baixo em uma coluna em um DataFrame do pandas:

 #shift values down by 1
df[' column1 '] = df[' column1 ']. shift (1)

#shift values up by 1
df[' column1 '] = df[' column1 ']. shift (-1)

Os exemplos a seguir mostram como usar esta função na prática com o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' product ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' sales ': [4, 7, 8, 12, 15, 19]})

#view DataFrame
df

        product sales
0 to 4
1 B 7
2 C 8
3 D 12
4 E 15
5 F 19

Exemplo 1: Mover uma coluna para cima ou para baixo

O código a seguir mostra como deslocar todos os valores na coluna “produto” para baixo em 1:

 #shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4
1 to 7
2 B 8
3 C 12
4 D 15
5 E 19

Observe que cada valor na coluna “produto” foi deslocado em 1 e o primeiro valor na coluna foi alterado para NaN.

Observe também que o último valor na coluna Produto (“F”) foi completamente removido do DataFrame.

Para manter o valor “F” no DataFrame, primeiro precisamos adicionar uma linha em branco na parte inferior do DataFrame e depois fazer o deslocamento:

 import numpy as np

#add empty row to bottom of DataFrame
df. loc [len(df. index )] = [np. nah , np. no ]

#shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4.0
1 to 7.0
2B 8.0
3C 12.0
4 D 15.0
5 E 19.0
6 F NaN

Observe que o valor “F” é mantido como o último valor da coluna “produto”.

Exemplo 2: mover várias colunas para cima ou para baixo

O código a seguir mostra como aumentar todos os valores nas colunas “produto” e “vendas” em 2:

 #shift all 'product' and 'sales' values up by 2
df[[' product ', ' sales ']] = df[[' product ', ' sales ']]. shift (-2)

#view updated DataFrame
df

        product sales
0 C 8.0
1 D 12.0
2 E 15.0
3 F 19.0
4 NaN NaN
5 NaN NaN

Observe que cada valor nas colunas “produto” e “vendas” foi aumentado em 2 e os dois valores inferiores de cada coluna foram alterados para NaN.

Nota : Você pode encontrar a documentação completa da função shift() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como adicionar linhas a um DataFrame do Pandas
Como adicionar uma coluna a um DataFrame do Pandas
Como adicionar uma linha de cabeçalho a um DataFrame do Pandas

Add a Comment

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