パターンマッチで列を選択
サンプルデータ
import pandas as pd
X = pd.read_csv("../data/sample.csv")
X.head()
| 元号 | 和暦 | 西暦 | 人口総数 | 町名 |
---|
0 | 大正 | 9.0 | 1920.0 | 394748 | A町 |
---|
1 | 大正 | 9.0 | 1920.0 | 31421 | B町 |
---|
2 | 大正 | 9.0 | 1920.0 | 226993 | C町 |
---|
3 | 大正 | 9.0 | 1920.0 | 253689 | D町 |
---|
4 | 大正 | 9.0 | 1920.0 | 288602 | E町 |
---|
sklearn.compose.make_column_selector
sklearn.compose.make_column_selector
を使用します。pattern="暦"
で暦が含まれる列を選択し、StandardScalerを適用します。
from sklearn.preprocessing import StandardScaler
from sklearn.compose import make_column_transformer
from sklearn.compose import make_column_selector
n_ss = StandardScaler()
# 暦が含まれる列のみスケーリング
ct = make_column_transformer(
(n_ss, make_column_selector(pattern="暦")), sparse_threshold=0
)
X_transform = ct.fit_transform(X)
# 変換後のテーブル
pd.DataFrame(X_transform).head()
| 0 | 1 |
---|
0 | -0.946623 | -1.665466 |
---|
1 | -0.946623 | -1.665466 |
---|
2 | -0.946623 | -1.665466 |
---|
3 | -0.946623 | -1.665466 |
---|
4 | -0.946623 | -1.665466 |
---|