如何在Pyspark数据框中的轴= 1上连接ArrayType的2列?

我有以下数据框:

我想将纬度经度连接成一个列表。其中MMSI类似于一个ID(这是唯一的)

+---------+--------------------+--------------------+
|     mmsi|                 lat|                 lon|
+---------+--------------------+--------------------+
|255801480|[47.1018366666666...|[-5.3017783333333...|
|304182000|[44.6343033333333...|[-63.564803333333...|
|304682000|[41.1936, 41.1715...|[-8.7716, -8.7514...|
|305930000|[49.5221333333333...|[-3.6310166666666...|
|306216000|[42.8185133333333...|[-29.853155, -29....|
|477514400|[47.17205, 47.165...|[-58.6317, -58.60...|

因此,我想将lat和lon数组连接起来,但在axis = 1上,也就是说,我希望在单独的列中最后有一个列表列表,例如:

[[47.1018366666666, -5.3017783333333], ... ]

在pyspark数据框中怎么可能?我已经尝试过concat,但是它将返回:

[47.1018366666666, 44.6343033333333, ..., -5.3017783333333, -63.564803333333, ...]

任何帮助深表感谢!

瓦姆西·普拉巴拉(Vamsi Prabhala)

从Spark 2.4版本开始,您可以使用内置函数arrays_zip

from pyspark.sql.functions import arrays_zip
df.withColumn('zipped_lat_lon',arrays_zip(df.lat,df.lon)).show()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Pyspark 数据框中查询字典格式列

如何在PySpark数据框中添加变量/条件列

如何在pyspark中爆炸数据框的多列

如何在pyspark数据框中动态添加列

如何在pyspark数据框的列中创建列表

pySpark:如何在数据框中的 arrayType 列中获取 structType 中的所有元素名称?

如何在pandas数据框中跨轴1相乘?

如何在PySpark数据帧中的第0轴上找到数组的平均值(数组列)?

如何在pyspark数据框中的嵌套结构中添加列?

如何在python / pyspark数据框中的所有列中添加后缀和前缀

如何在pyspark数据框中获取列的唯一值并存储为新列

如何在Pyspark中逐元素连接两个ArrayType(StringType())列?

如何在pyspark中创建具有两个数据框列的字典?

如何在pyspark数据框列中检测模式何时更改

如何在PySpark数据框中添加具有备用值的列?

如何在pyspark数据框中以相反的方式更改列的位置?

如何在pyspark中逐列合并几个数据框?

如何在pyspark数据框中创建具有列表值总和的列

如何在pyspark aws emr中向现有数据框添加多个列?

如何在Pyspark数据框的特定行中定位特定列?

如何在 Pyspark 数据框中创建多列的所有成对组合?

如何从matplotlib中的数据框列生成x轴值?

如何在pyspark的spark数据框中汇总多个列?

如何在Matplot的x轴上绘制dtype = datetime64 [ns]的数据框列?

如何从 pyspark 中的数据框中获取满足条件的列?

Pyspark:如何从数据框中的特定列值开始

如何从pyspark的数据框中删除空列

如何从 Pyspark 数据框中的列表值创建列

如何在pySpark数据框中添加一个新列,该列包含计数大于0的列值?