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