我有以下 pyspark 数据框
我想连接从 p1 到 p4 的所有列,以这种方式收集 1 和 0 的值
从 p1 到 p4 的所有列都是整数,因此我尝试在以这种方式连接所有列(“identification”列除外)之前将它们转换为字符串:
from pyspark.sql.types import StringType
from pyspark.sql import functions as F
df_concat=df.withColumn('joined_column', F.concat([F.col(c).cast(StringType()) for c in df.columns if c!='identification']))
我收到以下错误:
TypeError: Invalid argument, not a string or column:
是否有任何解决方案或其他方法可以将 pyspark 数据帧的所有列连接成一个字符串?
最佳答案
您必须使用concat_ws
from pyspark.sql.functions import concat_ws
df = df.withColumn('joined_column',concat_ws('',df.p1, df.p2, df.p3, df.p4))
关于python - 将所有 pyspark 数据帧列连接成一个字符串列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73907438/