向现有的pyspark数据框添加一列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向现有的pyspark数据框添加一列相关的知识,希望对你有一定的参考价值。
我有一个清单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中的列。
以上是关于向现有的pyspark数据框添加一列的主要内容,如果未能解决你的问题,请参考以下文章