2016-05-11 4 views
2

データ表の文字列型の列値を整数値でエンコードする方法を教えてください。たとえば、色(R、G、Bの可能な文字列値)とスキル(可能な文字列値C++、Java、SQL、Python)の2つの機能変数があります。与えられたデータテーブルが有する2 columns-エンコーディングPythonまたはSklearnの整数値による文字列値の列変数

Iはsklearn機能/方法は、R = 0、G = 1、B = 2とCとのような2つの列の上に変換れるかを知りたい
Color' -> R G B B G R B G G R G ; 
Skills' -> Java , C++, SQL, Java, Python, Python, SQL, C++, Java, SQL, Java. 

++ = 0、ジャワ= 1、SQL = 2、Python = 3:

Color: 0, 1, 2, 2, 1, 0, 2, 1, 1, 0, 1 
Skills: 1, 0, 2, 1, 3, 3, 2, 0, 1, 2, 1 

どうすればいいですか?

+0

?与えられたコードを表示してください。 – unutbu

+0

データを保持するためにnp.arrayまたはdataframeを使用できます。ただし、さまざまなサンプル(行)のフィーチャー変数(列)データを格納できるのであれば、任意のタイプのオブジェクトを自由に使用できます。 – Chandra

+0

それはもっと具体的にリストかもしれません.... – Chandra

答えて

3

使用Sckit-学ぶLabelEncoder()メソッドは、データを保持するために使用されているオブジェクトのどのような種類

import pandas as pd 
from sklearn.preprocessing import LabelEncoder 

df = pd.DataFrame({ 
'colors': ["R" ,"G", "B" ,"B" ,"G" ,"R" ,"B" ,"G" ,"G" ,"R" ,"G" ], 
'skills': ["Java" , "C++", "SQL", "Java", "Python", "Python", "SQL","C++", "Java", "SQL", "Java"] 
}) 

def encode_df(dataframe): 
    le = LabelEncoder() 
    for column in dataframe.columns: 
     dataframe[column] = le.fit_transform(dataframe[column]) 
    return dataframe 

#encode the dataframe 
encode_df(df) 
+1

ありがとう!..私はこれで試してみます... – Chandra

+1

うまくいきました。 1つの観察、それはNaNのためには動作しません....しかし、空の要素があれば、それは動作します。 – Chandra

関連する問題