我有一个清单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 |
您可以join
两个df,如下所示:
df2 = spark.createDataFrame()
df= df.join(df2, on=['index']).drop('index')
df2将包含您要添加到主df中的列。