Een kolom in panda's compenseren: met voorbeelden
U kunt de functie shift() gebruiken om waarden een kolom omhoog of omlaag te verschuiven in een Panda DataFrame:
#shift values down by 1 df[' column1 '] = df[' column1 ']. shift (1) #shift values up by 1 df[' column1 '] = df[' column1 ']. shift (-1)
De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken met de volgende panda’s DataFrame:
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
Voorbeeld 1: Verplaats een kolom omhoog of omlaag
De volgende code laat zien hoe u alle waarden in de kolom „product“ met 1 naar beneden kunt verschuiven:
#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
Houd er rekening mee dat elke waarde in de kolom ‚product‘ met 1 is verschoven en dat de eerste waarde in de kolom is gewijzigd in NaN.
Houd er ook rekening mee dat de laatste waarde in de kolom Product („F“) volledig uit het DataFrame is verwijderd.
Om de waarde “F” in het DataFrame te behouden, moeten we eerst een lege regel toevoegen aan de onderkant van het DataFrame en vervolgens de offset uitvoeren:
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
Houd er rekening mee dat de “F”-waarde wordt behouden als de laatste waarde in de kolom “product”.
Voorbeeld 2: Verplaats meerdere kolommen omhoog of omlaag
De volgende code laat zien hoe u alle waarden in de kolommen „product“ en „verkoop“ met 2 omhoog kunt schuiven:
#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
Houd er rekening mee dat elke waarde in de kolommen ‚product‘ en ‚verkoop‘ met 2 is opgeschoven en dat de onderste twee waarden in elke kolom zijn gewijzigd in NaN.
Opmerking : u kunt de volledige documentatie voor de functie shift() hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Rijen toevoegen aan een Pandas DataFrame
Hoe u een kolom toevoegt aan een Pandas DataFrame
Hoe u een koprij toevoegt aan een Pandas DataFrame