【问题标题】:How to Normalize or standardize specific or selected features of a data set in python如何在 python 中规范化或标准化数据集的特定或选定特征
【发布时间】:2019-11-08 15:25:56
【问题描述】:

我有数据,数据框的名称是 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 行 余数='直通') ^ SyntaxError: 无效语法

【问题讨论】:

  • ]] 之后是否缺少,

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


【解决方案1】:

聪明的贡献@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)

【讨论】:

    【解决方案2】:

    你可以试试这个

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

    希望这会有所帮助!

    【讨论】:

    • @parthasarathy 我收到了这个错误信息:ValueError: could not convert string to float:
    • 看起来你的列不是浮动的,所以添加了一个用于类型转换的段。希望这会有所帮助
    • 还是一样的错误信息:ValueError: could not convert string to float:
    • 也给出了此错误消息,试图在数据帧的切片副本上设置值。尝试改用 .loc[row_indexer,col_indexer] = value 请参阅文档中的警告:pandas.pydata.org/pandas-docs/stable/… 从 sys.path 中删除 cwd 后。谢谢
    • 您可以发布您的数据样本和整个引用错误吗?
    猜你喜欢
    • 1970-01-01
    • 2020-11-23
    • 2018-09-04
    • 2021-05-28
    • 2015-12-08
    • 2018-01-04
    • 2018-06-15
    • 2015-08-24
    • 1970-01-01
    相关资源
    最近更新 更多