如何分解 pandas 中的选定列

And*_*868 2 python pandas

我想实现一个自动为对象分配数值的函数。这是我的代码:

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)
Run Code Online (Sandbox Code Playgroud)

怎么了?

jez*_*ael 5

使用:

def gnumeric_func (data, columns):
  data[columns] = data[columns].apply(lambda x: pd.factorize(x)[0])
  return data
Run Code Online (Sandbox Code Playgroud)

对于所有列:

def gnumeric_func (data):
  data = data.apply(lambda x: pd.factorize(x)[0])
  return data
Run Code Online (Sandbox Code Playgroud)

  • 改变输入“数据”并返回它是一个好习惯吗? (3认同)