Pyspark - 循环和范围内 - 仅获取最后一个值

罗曼

我想将数据帧的两列两两合并,所以我使用了“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)

谢谢你的帮助

麦克

您的列表索引不返回任何内容,因为开始和结束索引相同,并且您在df2for 循环的每次迭代中覆盖数据帧请尝试以下方法:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从pyspark的dataframe列中获取第一个值和最后一个值?

pyspark 检查 HH:mm:ss 是否在一个范围内

过滤pyspark DataFrame,其中行在另一个DataFrame的范围内

IF和AND检查范围内的一个值

HttpSession 属性:getAttribute() 仅传递/获取循环中的最后一个值

TSQL - 范围内的第一个和最后一个数字

循环仅获取最后一个obj

仅获取列表中最后一个循环的数据

循环仅取最后一个值

表循环仅更新最后一个值

for循环中的lambda仅取最后一个值

Ruby for循环仅使用最后一个值

仅循环使用最后一个值

在 forEach 循环中,仅显示最后一个值

获取范围内最后一个非空单元格的列号(如果值不是唯一的)

如何使用while和if循环从范围内的列表中选择值?

如何在pyspark中使用第一个和最后一个功能?

PySpark在分区上的第一个和最后一个功能

在指定的时间范围之前获取最后一个值

pyspark-如何在列值的特定范围内生成随机数?

xslt获取指定范围内循环中节点的值

循环内的onclick值仅适用于表中的最后一个值

日期范围内的ElasticSearch第一个和最后一个值以及其他聚合

Excel UDF查找具有给定值的范围内的第一个和最后一个单元格-运行缓慢

选择从第一个坏值到最后一个坏值范围内的数据

需要创建一个循环直到最后一行,但仅在特定范围内

前往:匿名功能仅在范围内取最后一个值

检测列中的最后一个条目以搜索使用范围内的值

对于具有另一个范围内的单元格范围的循环