向现有的pyspark数据框添加一列

问题描述 投票:0回答:1

我有一个清单lists=[0,1,2,3,5,6,7]。订单不是顺序的。我有一个9列的pyspark数据框。

+-------------------+--------+--------+--------+--------+--------+--------+---------------+-----+----+
|               date|ftt (°c)|rtt (°c)|fbt (°c)|rbt (°c)|fmt (°c)|rmt (°c)|fmhhumidityunit|index|Diff|
+-------------------+--------+--------+--------+--------+--------+--------+---------------+-----+----+
|2019-02-01 05:29:47|     NaN|     NaN|     NaN|     NaN|     NaN|     NaN|            NaN|    0| NaN|
|2019-02-01 05:29:17|     NaN|     NaN|     NaN|     NaN|     NaN|    NaN|           NaN|    1| NaN |

我需要将列表作为列添加到现有数据框中。我的列表顺序不正确,所以我无法使用udf。有办法吗?请帮帮我我希望它像这样

+-------------------+--------+--------+--------+--------+--------+--------+---------------+-----+----+------+
|               date|ftt (°c)|rtt (°c)|fbt (°c)|rbt (°c)|fmt (°c)|rmt (°c)|fmhhumidityunit|index|Diff|lists |
+-------------------+--------+--------+--------+--------+--------+--------+---------------+-----+----+-------+
|2019-02-01 05:29:47|     NaN|     NaN|     NaN|     NaN|     NaN|     NaN|            NaN|    0| NaN|0     |
|2019-02-01 05:29:17|     NaN|     NaN|     NaN|     NaN|     NaN|     NaN|           NaN|    1| NaN |1     |
python pyspark pyspark-dataframes
1个回答
0
投票

您可以join两个df,如下所示:

df2 = spark.createDataFrame()
df= df.join(df2, on=['index']).drop('index')

df2将包含您要添加到主df中的列。

© www.soinside.com 2019 - 2024. All rights reserved.