Come compensare una colonna in panda: con esempi


Puoi utilizzare la funzione shift() per spostare i valori verso l’alto o verso il basso in una colonna in un DataFrame panda:

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

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

I seguenti esempi mostrano come utilizzare in pratica questa funzione con i seguenti DataFrame panda:

 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

Esempio 1: sposta una colonna verso l’alto o verso il basso

Il codice seguente mostra come spostare tutti i valori nella colonna “prodotto” verso il basso di 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

Tieni presente che ciascun valore nella colonna “prodotto” è stato spostato di 1 e il primo valore nella colonna è stato modificato in NaN.

Si noti inoltre che l’ultimo valore nella colonna Prodotto (“F”) è stato completamente rimosso dal DataFrame.

Per mantenere il valore “F” nel DataFrame, dobbiamo prima aggiungere una riga vuota nella parte inferiore del DataFrame e quindi eseguire l’offset:

 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

Tieni presente che il valore “F” viene mantenuto come ultimo valore nella colonna “prodotto”.

Esempio 2: sposta più colonne verso l’alto o verso il basso

Il codice seguente mostra come spostare verso l’alto di 2 tutti i valori nelle colonne “prodotto” e “vendite”:

 #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

Tieni presente che ciascun valore nelle colonne “prodotto” e “vendite” è stato spostato verso l’alto di 2 e i due valori inferiori in ciascuna colonna sono stati modificati in NaN.

Nota : puoi trovare la documentazione completa per la funzione shift() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come aggiungere righe a un DataFrame Pandas
Come aggiungere una colonna a un DataFrame Pandas
Come aggiungere una riga di intestazione a un DataFrame Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *