我有数据,数据框的名称为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:语法无效
答案 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)