如何在python中规范化或标准化数据集的特定或选定要素

watbbzwu  于 2022-12-01  发布在  Python
关注(0)|答案(2)|浏览(85)

我有数据,数据框的名称为表,表包含15个要素,我只想归一化3个数字数据要素,这些要素的名称为“费率”、“成本”和“总成本”。请问,如何修复此问题?
我尝试通过使用Table.loc[:,['rate',cost ',total cost']过滤并传递给column_trans来提取所需的要素
从sklearn.compose导入列转换器
从sklearn.预处理导入StandarScaler
列转换器(

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

remainder='passthrough')

列_转换.拟合_转换(X)
我期望得到的归一化特征值在0和1之间。
但我得到了以下错误消息。
文件“",第5行剩余部分='passthrough')^语法错误:无效语法

w3nuxt5m

w3nuxt5m1#

smart contribution @ Parthasarathy时,我注意到其中一个特征具有NAN值,而另一个特征是整数,因此我将NAN值转换为0,并将一个类型应用于整数特征。我应用了以下代码:
来自sklearn。预处理导入规范化
continuous_columns =['费率','成本','总成本']
连续数据=电信公司[连续列]
连续数据['速率']=连续数据['速率'].类型(浮点型)
normalized_data =规格化(连续数据)

wrrgggsh

wrrgggsh2#

您可以尝试以下操作:

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包含您要查找的内容。

相关问题