pandas.factorize()

查阅pandas文档,找到对应的说明pandas.factorize()文档解析

pandas.factorize()

 

 

观察直到,该函数输入一个sequence,返回一个元组,包含一个array对象和index类型对象。我们直接看官方示例:

pandas.factorize()

 

由上面可见,我们送入一串序列['b', 'b', 'a', 'c', 'b'],该函数做了什么事,其实,它是将送入的字符映射成数字,原则是相同的字符对应同一个数字。

比如上面,函数先处理 ‘b’,将其映射成 0, 然后处理第二个字符还是 ‘b’,因为已经映射成功,所以直接返回 0, 接着处理到 ‘a’,将其映射为 1,然后处理 ‘c’,将其映射成 2, 最后处理 ‘b’,已经映射过了,所以直接输出 0。

将上述输出汇总成序列,输出到 labels 中,unique里面其实就是存储我们输入序列中互异的元素,即上面的  ['b', 'a', 'c']

 

同理,官方示例中最后一个例子也就好理解了,请读者自行体会:

pandas.factorize()

函数中的其他参数,无非就是给函数添加一些约束条件,读者自行了解即可。其他用法,碰到再总结。