【问题标题】:Add encoder.categores_ as column name in Pandas dataframe after using OneHotEncoder使用 OneHotEncoder 后,在 Pandas 数据框中添加 encoder.categores_ 作为列名
【发布时间】:2020-07-19 04:43:51
【问题描述】:

我正在使用泰坦尼克号数据集。我已经对幸存的 3 个类别进行了一次HotEncoding,sex,cabin。

encoder = OneHotEncoder(categories='auto',
                   drop='first', 
                   sparse=False,
                   handle_unknown='error')
encoder.fit(X_train.fillna('Missing'))

tmp = encoder.transform(X_train.fillna('Missing'))

onepd = pd.DataFrame(tmp, columns= encoder.categories_)

ecoder.categories_ 数组大小与 tmp 不同。有什么办法吗?

【问题讨论】:

    标签: pandas machine-learning scikit-learn one-hot-encoding feature-engineering


    【解决方案1】:

    encoder.categories_ 可能是一个矩阵,尝试索引第一个元素:

    试试这个:

    encoder = OneHotEncoder(categories='auto',
                       drop='first', 
                       sparse=False,
                       handle_unknown='error')
    encoder.fit(X_train.fillna('Missing'))
    
    tmp = encoder.transform(X_train.fillna('Missing'))
    
    onepd = pd.DataFrame(tmp, columns= encoder.categories_[0])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 2016-12-05
      • 2018-01-19
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      相关资源
      最近更新 更多