在新列下的pyspark数据帧中存储多列的值

时间:2019-09-21 22:59:11

标签: pyspark pyspark-sql pyspark-dataframes

我正在从其中具有列Reading1和Reading2的csv文件导入数据,并将其存储到pyspark数据帧中。 我的目标是要有一个新的列名称Reading及其值为包含Reading1和Reading2的值的数组。如何在pyspark中实现相同的目标。

        +---+-----------+-----------+
        | id|  Reading A|  Reading B| 
        +---+-----------------------+
        |01 |  0.123    |   0.145   | 
        |02 |  0.546    |   0.756   |
        +---+-----------+-----------+

        Desired Output:
        +---+------------------+
        | id|    Reading       |
        +---+------------------+
        |01 |  [0.123, 0.145]  |
        |02 |  [0.546, 0.756   |
        +---+------------------+-

1 个答案:

答案 0 :(得分:1)

尝试

将pyspark.sql.functions导入为f

df.withColumn('reading',f.array([f.col(“ reading a”),f.col(“ reading b”)])))