Gegevens centreren in python: met voorbeelden
Het centreren van een dataset betekent dat de gemiddelde waarde van elke individuele waarneming in de dataset wordt afgetrokken.
Zodra u een dataset centreert, wordt de gemiddelde waarde van de dataset nul.
De volgende voorbeelden laten zien hoe u gegevens in Python kunt centreren.
Voorbeeld 1: Centreer de waarden van een NumPy-array
Stel dat we de volgende NumPy-array hebben:
import numpy as np #create NumPy array data = np. array ([4, 6, 9, 13, 14, 17, 18, 19, 19, 21]) #display mean of array print ( data.mean ()) 14.0
We kunnen een functie definiëren om de gemiddelde arraywaarde van elke individuele waarneming af te trekken:
#create function to data center
center_function = lambda x: x - x. mean ()
#apply function to original NumPy array
data_centered = center_function(data)
#view updated Array
print (data_centered)
array([-10., -8., -5., -1., 0., 3., 4., 5., 5., 7.])
De resulterende waarden zijn de gecentreerde waarden van de dataset.
Omdat het gemiddelde van de oorspronkelijke tabel 14 was, trok deze functie eenvoudigweg 14 af van elke individuele waarde in de oorspronkelijke tabel.
Bijvoorbeeld:
- 1e waarde van gecentreerde array = 4 – 14 = -10
- 2e waarde van gecentreerde array = 6 – 14 = -8
- 3e waarde in gecentreerde array = 9 – 14 = -5
Enzovoort.
We kunnen ook controleren of het gemiddelde van de gecentreerde tabel nul is:
#display mean of centered array print ( data_centered.mean ()) 0.0
Voorbeeld 2: Centreer de kolommen van een Pandas DataFrame
Stel dat we de volgende panda’s DataFrame hebben:
import pandas as pd #createDataFrame df = pd. DataFrame ({' x ': [1, 4, 5, 6, 6, 8, 9], ' y ': [7, 7, 8, 8, 8, 9, 12], ' z ': [3, 3, 4, 4, 6, 7, 7]}) #view DataFrame print (df) X Y Z 0 1 7 3 1 4 7 3 2 5 8 4 3 6 8 4 4 6 8 6 5 8 9 7 6 9 12 7
We kunnen de pandas apply() functie gebruiken om de waarden van elke kolom in het DataFrame te centreren:
#center the values in each column of the DataFrame df_centered = df. apply ( lambda x: xx.mean ()) #view centered DataFrame print (df_centered) X Y Z 0 -4.571429 -1.428571 -1.857143 1 -1.571429 -1.428571 -1.857143 2 -0.571429 -0.428571 -0.857143 3 0.428571 -0.428571 -0.857143 4 0.428571 -0.428571 1.142857 5 2.428571 0.571429 2.142857 6 3.428571 3.571429 2.142857
We kunnen vervolgens verifiëren dat de gemiddelde waarde van elke kolom nul is:
#display mean of each column in the DataFrame df_centered. mean () x 2.537653e-16 y-2.537653e-16 z 3.806479e-16 dtype:float64
Kolomgemiddelden worden weergegeven in wetenschappelijke notatie, maar elke waarde is in wezen nul.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:
Hoe een getrimd gemiddelde in Python te berekenen
Hoe de gemiddelde kwadratische fout (MSE) in Python te berekenen
Hoe het gemiddelde van geselecteerde kolommen in Panda’s te berekenen