Scikit学习:如何水平标准化行值?

Xio*_*g89 5 python numpy scikit-learn

我想将下面的值标准化为水平而不是垂直。代码读取代码后提供的csv文件,并输出具有标准化值的新csv文件。如何使其水平标准化?给出如下代码:

#norm_code.py
#normalization = x-min/max-min

import numpy as np
from sklearn import preprocessing
all_data=np.loadtxt(open("c:/Python27/test.csv","r"),
delimiter=",",
skiprows=0,
dtype=np.float64)

x=all_data[:]

print('total number of samples (rows):', x.shape[0])
print('total number of features (columns):', x.shape[1])
minmax_scale = preprocessing.MinMaxScaler(feature_range=(0, 1)).fit(x)

X_minmax=minmax_scale.transform(x)
with open('test_norm.csv',"w") as f:
    f.write("\n".join(",".join(map(str, x)) for x in (X_minmax)))
Run Code Online (Sandbox Code Playgroud)

test.csv

1   2   0   4   3
3   2   1   1   0
2   1   1   0   1
Run Code Online (Sandbox Code Playgroud)

Ami*_*ory 7

您可以简单地对转置进行操作,并对结果进行转置:

minmax_scale = preprocessing.MinMaxScaler(feature_range=(0, 1)).fit(x.T)

X_minmax=minmax_scale.transform(x.T).T
Run Code Online (Sandbox Code Playgroud)