2024-09-24 06:34:28 发布
网友
我试图在Spark中使用HashTF,但我有一个主要问题。 如果inputCol只有一个这样的列
HashingTF(inputCol="bla",outputCol="tf_features") it works fine.
但若我尝试添加更多列,我会收到错误消息“无法将列表转换为字符串”。 我想做的就是
HashingTF(inputCol=["a_col","b_col","c_col"], outputCol="tf_features").
有没有办法解决这个问题
HashingTF接受一个列的输入,如果您想使用其他列,可以使用array函数创建这些列的数组,然后使用explode将它们展开,您将拥有一个包含所有列的值的列。最后,您可以将该列传递给HashingTF
array
explode
df2 = df.select(explode(array(f.col("a_col"),f.col("b_col")))).as('newCol'))
HashingTF接受一个列的输入,如果您想使用其他列,可以使用
array
函数创建这些列的数组,然后使用explode
将它们展开,您将拥有一个包含所有列的值的列。最后,您可以将该列传递给HashingTFdf2 = df.select(explode(array(f.col("a_col"),f.col("b_col")))).as('newCol'))
相关问题 更多 >
编程相关推荐