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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert