我有下面的数据框架,我试图通过连接列表中的名称来创建一个新列
df=
----------------------------------
| name| department| state| id| hash
------+-----------+-------+---+----
James| Sales1 |null |101|4df2
Maria| Finance | |102|5rfg
Jen | |NY2 |103|234
key_list=['name','state','id']
df.withColumn('prim_key', concat(*key_list)
df.show()
但上面返回相同的结果
----------------------------------
| name| department| state| id| hash
------+-----------+-------+---+----
James| Sales1 |null |101|4df2
Maria| Finance | |102|5rfg
Jen | |NY2 |103|234
我怀疑这可能是由于DF中列名中的空格造成的。因此,我使用trim来删除列名中的所有空格,但运气不好。它返回相同的结果
有解决办法吗?
我找到了…问题是由于将结果分配给新的或现有的df
df=df.withColumn('prim_key', concat(*key_list)