1. ホーム
  2. python

[解決済み] pandasデータフレームの列を正規化する。

2022-03-15 15:34:09

質問

pandasのデータフレームで、各カラムが異なる値域を持つものがあります。例えば

df:

A     B   C
1000  10  0.5
765   5   0.35
800   7   0.09

各値が0と1の間であるこのデータフレームの列を正規化することができる任意のアイデア?

私の希望する出力は

A     B    C
1     1    1
0.765 0.5  0.7
0.8   0.7  0.18(which is 0.09/0.5)

解決方法は?

sklearnパッケージとその関連前処理ユーティリティを使って、データを正規化することができます。

import pandas as pd
from sklearn import preprocessing

x = df.values #returns a numpy array
min_max_scaler = preprocessing.MinMaxScaler()
x_scaled = min_max_scaler.fit_transform(x)
df = pd.DataFrame(x_scaled)

より詳しい情報は scikit-learn をご覧ください。 ドキュメント データの前処理: 特徴を範囲にスケーリングする" を参照してください。