2017-07-05 13 views
0

オブジェクトに数値を自動的に割り当てる関数を実装したいと思います。 私のコードは次のとおりです。パンダで選択した列を因数分解する方法

column_list = ['datum', 'parameter_name', 'sample_duration', 'pollutant_standard', 'units_of_measure'] 
def gnumeric_func(data, columns): 
    data[columns] = pd.factorize(data.columns)[0] 

data = pd.DataFrame(data, column_list) 
gnumeric_func(data, column_list) 

何が問題なのですか?

+2

それが間違って何をしているのですか?何か間違いはありますか? – hRdCoder

答えて

1

使用:すべての列の

def gnumeric_func (data, columns): 
    data[columns] = data[columns].apply(lambda x: pd.factorize(x)[0]) 
    return data 

def gnumeric_func (data): 
    data = data.apply(lambda x: pd.factorize(x)[0]) 
    return data 
+0

入力の 'data'を突然変異させて返すのがよいでしょうか? – JoeCondron

+0

@JoeCondron - 私はPythonでそれは一般的だと思いますが、それが良い練習であれば、私にとっては難しい質問です。私は本当に分かりません。 – jezrael

関連する問題