我想将数据帧的两列两两合并,所以我使用了“for in range”函数。但是,我只是在显示时显示最后的结果。
如何在数据框中获得所有结果?
这是我的代码:
from pyspark.sql.functions import concat_ws, col
df = spark.read.load('abfss://......')
for item in range(1,21,2):
df2=df.select(concat_ws("/",df[item:item],df[item+1:item+1]).alias(df.columns[item:item]))
display(df2)
谢谢你的帮助
您的列表索引不返回任何内容,因为开始和结束索引相同,并且您在df2
for 循环的每次迭代中覆盖数据帧。请尝试以下方法:
from pyspark.sql.functions import concat_ws
df2 = df.select([
concat_ws('/', df.columns[i], df.columns[i+1]).alias(df.columns[i])
for i in range(1,21,2)
])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句