Come centrare i dati in python: con esempi


Centrare un set di dati significa sottrarre il valore medio di ogni singola osservazione nel set di dati.

Una volta centrato un set di dati, il valore medio del set di dati diventa zero.

Gli esempi seguenti mostrano come centrare i dati in Python.

Esempio 1: centrare i valori di un array NumPy

Supponiamo di avere il seguente array NumPy:

 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

Possiamo definire una funzione per sottrarre il valore medio dell’array da ogni singola osservazione:

 #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.])

I valori risultanti sono i valori centrati del set di dati.

Poiché la media della tabella originale era 14, questa funzione ha semplicemente sottratto 14 da ogni singolo valore della tabella originale.

Per esempio:

  • Primo valore dell’array centrato = 4 – 14 = -10
  • 2° valore dell’array centrato = 6 – 14 = -8
  • 3° valore nell’array centrato = 9 – 14 = -5

E così via.

Possiamo anche verificare che la media della tabella centrata è zero:

 #display mean of centered array
print ( data_centered.mean ())

0.0

Esempio 2: centrare le colonne di un DataFrame Pandas

Supponiamo di avere i seguenti panda DataFrame:

 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

Possiamo utilizzare la funzione panda apply() per centrare i valori di ciascuna colonna nel DataFrame:

 #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 

Possiamo quindi verificare che il valore medio di ciascuna colonna è zero:

 #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

Le medie delle colonne vengono visualizzate in notazione scientifica, ma ogni valore è essenzialmente zero.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in Python:

Come calcolare una media troncata in Python
Come calcolare l’errore quadratico medio (MSE) in Python
Come calcolare la media delle colonne selezionate in Pandas

Aggiungi un commento

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