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 を減算しました。
例えば:
- 中心配列の最初の値 = 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 の列を中央に配置する
次のパンダ データフレームがあるとします。
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 でトリミング平均を計算する方法
Python で平均二乗誤差 (MSE) を計算する方法
Pandas で選択した列の平均を計算する方法