【问题标题】:Converting multiple spark dataframe columns to a single column with list type将多个火花数据框列转换为具有列表类型的单列
【发布时间】:2019-04-17 08:35:04
【问题描述】:

我有一个如下所示的 Pyspark 数据框。

Time           A      B     C     D

06:37:14       2      3     4     5

我想为所有行将其转换为这样。我不想使用 Pandas 来完成这项工作。新的列类型应该是列表类型。

Time             Features

06:37:14        [2,3,4,5]

如何使用 Pyspark 做到这一点?

【问题讨论】:

  • 如果您有预定义的列数,您可以简单地连接这些值

标签: pyspark


【解决方案1】:

正如我在评论中所描述的,当您有固定数量的列时,您可以提前知道,您可以简单地将新列中的值与 withColumn 组合起来,如果您想要一个数组,您可以使用 @987654322 @

df1= sqlContext.createDataFrame([("06:37:14", '2', '3', '4', '5')], ['Time', 'A', 'B', 'C', 'D'])
df1.withColumn("Features", array("A","B","C","D")).drop("A","B","C","D").show(truncate=False)

输出:

+--------+------------+
|Time    |Features    |
+--------+------------+
|06:37:14|[2, 3, 4, 5]|
+--------+------------+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2019-03-22
    • 1970-01-01
    相关资源
    最近更新 更多