Як центрувати дані в python: із прикладами


Центрування набору даних означає віднімання середнього значення кожного окремого спостереження в наборі даних.

Після центрування набору даних середнє значення набору даних стає нульовим.

У наступних прикладах показано, як центрувати дані в Python.

Приклад 1: центрування значень масиву NumPy

Припустимо, у нас є такий масив 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

Ми можемо визначити функцію для віднімання середнього значення масиву з кожного окремого спостереження:

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

Отримані значення є центрованими значеннями набору даних.

Оскільки середнє значення вихідної таблиці було 14, ця функція просто відняла 14 від кожного окремого значення у вихідній таблиці.

Наприклад:

  • 1-е значення центрованого масиву = 4 – 14 = -10
  • 2-е значення центрованого масиву = 6 – 14 = -8
  • 3-е значення в центрованому масиві = 9 – 14 = -5

І так далі.

Ми також можемо перевірити, що середнє значення центрованої таблиці дорівнює нулю:

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

0.0

Приклад 2: центрування стовпців Pandas DataFrame

Припустімо, що у нас є наступні pandas 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

Ми можемо використовувати функцію pandas apply() , щоб центрувати значення кожного стовпця в 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 

Потім ми можемо перевірити, що середнє значення кожного стовпця дорівнює нулю:

 #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

Середні значення стовпців відображаються в науковій нотації, але кожне значення фактично дорівнює нулю.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в Python:

Як обчислити зрізане середнє в Python
Як обчислити середню квадратичну помилку (MSE) у Python
Як обчислити середнє значення вибраних стовпців у Pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *