Spark HashingTF inputCol接受一列,但我想要m

2024-09-24 06:34:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Spark中使用HashTF,但我有一个主要问题。 如果inputCol只有一个这样的列

HashingTF(inputCol="bla",outputCol="tf_features") it works fine.

但若我尝试添加更多列,我会收到错误消息“无法将列表转换为字符串”。 我想做的就是

HashingTF(inputCol=["a_col","b_col","c_col"], outputCol="tf_features").

有没有办法解决这个问题


Tags: 消息tf错误itcolsparkfeaturesworks
1条回答
网友
1楼 · 发布于 2024-09-24 06:34:28

HashingTF接受一个列的输入,如果您想使用其他列,可以使用array函数创建这些列的数组,然后使用explode将它们展开,您将拥有一个包含所有列的值的列。最后,您可以将该列传递给HashingTF

df2 = df.select(explode(array(f.col("a_col"),f.col("b_col")))).as('newCol'))

相关问题 更多 >