下記のような時系列のデータフレーム(dfa)があります。pd.infoは以下の通りです。
A B C D E F
Data
2017-01-01 00:01:00 125.25 0.125 1.258 12547 2.5 -0.254
2017-01-01 00:02:00 124.23 0.125 1.258 12525 2.5 -0.255
2017-01-01 00:03:00 123.24 0.125 1.258 12503 2.5 -0.256
2017-01-01 00:04:00 125.48 0.125 1.258 12481 2.5 -0.253
2017-01-01 00:05:00 126.25 0.225 1.258 12459 2.5 -0.252
2017-01-01 00:06:00 127.25 1.225 2.258 12460 3.5 0.748
2017-01-01 00:07:00 127.25 0.225 1.258 12437 2.5 -0.254
2017-01-01 00:08:00 130.05 0.225 1.258 12415 2.5 -0.255
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 933505 entries, 2017-01-01 00:01:00 to 2017-09-30 14:59:00
Columns: 200 entries, A to AZ=
dtypes: float64(430)
memory usage: 10.0 MB
上記の通り、indexはDatetime型、columnsは文字列です。元データ表記を少し変えておりますが、カラム銘柄毎の時間毎の値を行方向に並べております。このデータの標準化をsklearnのモジュールを使って行うべく下記コードを実行したところ、Datetimeであるindexも標準化されてしまいました。
sc=StandardScaler()
dfa_std=sc.fit_transform(dfa)
index列を切り分けて標準化し、その後併合すればよいのかもしれませんが、切り分けせずにindex以外を行方向に標準化する方法はございますでしょうか。
よろしくお願いいたします。
p.s 追記です。標準化コード実行は下記の通りの表示となってしまいました。
0 1 2 3 4 5
0 -1.367752 -0.32971 1.868358 -0.931302 0.157813 1.33493
1 -1.367752 -0.33094 1.868358 -0.931302 0.157813 1.33493
2 -1.367752 -0.33197 1.868358 -0.931302 0.157813 1.33493
3 -1.367752 -0.33126 1.868358 -0.931302 0.157813 1.33493
4 -1.367752 -0.3309 1.868358 -0.931302 0.157813 1.33493

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/24 08:44
2017/11/24 08:46
2017/11/24 09:10
2017/11/24 10:20