代码之家  ›  专栏  ›  技术社区  ›  Kristofer

如何在Pandas dataframe中为特定列应用LabelEncoder

  •  28
  • Kristofer  · 技术社区  · 7 年前

    我有一个dataframe加载的数据集,其中类标签需要使用 LabelEncoder 从scikit学习。“列” label 是具有以下类的类标签列:

    [‘Standing’, ‘Walking’, ‘Running’, ‘null’]
    

    为了执行标签编码,我尝试了以下方法,但不起作用。我怎样才能修复它?

    from sklearn import preprocessing
    import pandas as pd
    
    df = pd.read_csv('dataset.csv', sep=',') 
    df.apply(preprocessing.LabelEncoder().fit_transform(df['label']))
    
    3 回复  |  直到 5 年前
        1
  •  50
  •   niraj    7 年前

    您可以尝试以下操作:

    le = preprocessing.LabelEncoder()
    df['label'] = le.fit_transform(df.label.values)
    

    或者以下也可以:

    df['label'] = le.fit_transform(df['label'])
    

    它将取代原来的 label 带有编码标签的数据帧中的值。

        2
  •  3
  •   Darshan Jain    5 年前

    您还可以执行以下操作:

    from sklearn.preprocessing import LabelEncoder
    le = LabelEncoder()
    df.col_name= le.fit_transform(df.col_name.values)
    

    其中col\u name=要标记编码的功能

        3
  •  1
  •   METTA APPALA GANESH KUMAR    3 年前
     from sklearn.preprocessing import LabelEncoder
     le = LabelEncoder()
     X[:, 2] = le.fit_transform(X[:, 2]) 
    

    如果要更改CSV数据中的特定列,这可能会很有帮助