【问题标题】:label encoding for the entire datafarame using sklearn LabelEncoder()使用 sklearn LabelEncoder() 对整个数据帧进行标签编码
【发布时间】:2020-12-22 19:08:36
【问题描述】:

我想使用 Keras 的序列模型来预测序列。我的数据框包含字符串数据,因此我决定使用 sklearn 库中的LabelEncoder 对字符串数据进行编码。

我试过这段代码sn-p:

import pandas as pd
df = pd.read_csv("sample-03.csv")
from sklearn.preprocessing import LabelEncoder
df.apply(LabelEncoder().fit_transform)

给出这个结果:

此标签编码适用于具有不同值的每一列,即我需要将 http://example.com/296 表示为整个数据集的“2”。 如果能得到解决方案的建议,我将不胜感激。

我还尝试将数据集转换为元组并为此数据集使用字典,但对于不同列中的相同值,键再次不是唯一的。

【问题讨论】:

    标签: scikit-learn label-encoding


    【解决方案1】:

    LabelEncoder 不会满足您的要求。我建议编写一个小函数,提取所有唯一的 URL,然后为每个 URL 分配一个数值,然后用数据框中的相应数值替换 URL。

    【讨论】:

      【解决方案2】:

      我想出了解决方案,并想在这里分享。

      le = LabelEncoder()
      le.fit(df.stack().unique())
      df['x-2']= le.transform(df['x-2'])
      df['x-1']= le.transform(df['x-1'])
      df['x0']= le.transform(df['x0'])
      df['x1']= le.transform(df['x1'])
      df['x2']= le.transform(df['x2'])
      

      【讨论】:

        猜你喜欢
        • 2020-03-04
        • 2020-05-11
        • 2022-01-15
        • 2018-08-02
        • 2020-07-12
        • 2021-01-26
        • 2016-11-20
        • 2019-03-09
        • 2018-12-20
        相关资源
        最近更新 更多