小编Moh*_*him的帖子

如何让Spark中的onehotencoder像Pandas中的onehotencoder一样工作?

当我在Spark中使用onehotencoder时,我将得到第四列中的结果,这是一个稀疏向量.

// +---+--------+-------------+-------------+
// | id|category|categoryIndex|  categoryVec|
// +---+--------+-------------+-------------+
// |  0|       a|          0.0|(3,[0],[1.0])|
// |  1|       b|          2.0|(3,[2],[1.0])|
// |  2|       c|          1.0|(3,[1],[1.0])|
// |  3|      NA|          3.0|    (3,[],[])|
// |  4|       a|          0.0|(3,[0],[1.0])|
// |  5|       c|          1.0|(3,[1],[1.0])|
// +---+--------+-------------+-------------+
Run Code Online (Sandbox Code Playgroud)

但是,我想要的是为类别生成3列,就像它在pandas中的工作方式一样.

>>> import pandas as pd
>>> s = pd.Series(list('abca'))
>>> pd.get_dummies(s)
   a  b  c
0  1  0  0
1  0  1  0
2  0  0  1
3  1  0  0
Run Code Online (Sandbox Code Playgroud)

apache-spark pyspark one-hot-encoding

4
推荐指数
1
解决办法
1498
查看次数

标签 统计

apache-spark ×1

one-hot-encoding ×1

pyspark ×1