如何在python

时间:2019-06-26 16:02:22

标签: python-3.x pandas scikit-learn standardized

我有数据,数据框的名称为Table,Table包含15个要素,我只想将3个要素归一化为数字数据,这些要素的名称为'rate','cost'和'Total费用”。请问我该如何解决?

我尝试通过使用过滤条件来提取所需的功能 Table.loc [:,['rate',cost',total cost']并传递给column_trans

来自sklearn.compose导入ColumnTransformer

从sklearn.preprocessing导入StandarScaler

column_trans = ColumnTransformer(

[('scaler', StandardScaler(),Table.loc[:,['rate','cost','Totalcost']]

remainder='passthrough') 

column_trans.fit_transform(X)

我希望归一化特征的值在0到1之间。

但是我收到以下错误消息。

文件“”,第5行     余数='passthrough')             ^ SyntaxError:语法无效

2 个答案:

答案 0 :(得分:0)

您可以尝试

from sklearn.preprocessing import normalize

continuous_columns = ['rate','cost','Totalcost']
continuous_data= Table.loc[:, continuous_columns]
continuous_data['rate']= continuous_data['rate'].astype(float)
continuous_data['cost']= continuous_data['cost'].astype(float)
continuous_data['Totalcost']= continuous_data['Totalcost'].astype(float)
normalized_data = normalize(continuous_data)

normalized_data_df =pd.DataFrame(normalized_data , columns=continuous_columns) 
Table = Table.drop(continuous_columns, axis=1)
Final_data = pd.concat([Table, normalized_data_df ], axis=1)

现在Final_data包含您要查找的内容。

希望这会有所帮助!

答案 1 :(得分:0)

明智的贡献@ Parthasarathy,我注意到其中一项功能具有NAN值 而另一个功能是整数,因此我将Nan值转换为0,并将astype应用于该整数功能。我应用了以下代码:

从sklearn.preprocessing导入归一化

continuous_columns = ['rate','cost','Totalcost']

continuous_data =电信[continuous_columns]

continuous_data ['rate'] = Continuous_data ['rate']。astype(float)

normalized_data = normalize(continuous_data)