我有一个清单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 |
我需要将列表作为列添加到现有的数据帧中。我的列表不整齐,所以我不能使用自定义项。有办法吗?。请帮帮我 我想变成这样
^{pr2}$
不太确定是一定是这样的,还是你期待着别的什么。 如果列表项和数据帧行的数量必须相同,那么这里有一个简单的方法。在
对于具有三列的给定示例数据帧:
假设这是一个列表:
^{pr2}$可以从这个列表创建rdd,并对dataframe使用zip函数,并在其上使用map函数。在
作为zip函数,返回具有第一个元素的键值对包含来自第一个rdd的数据,而第二个元素包含来自第二个rdd的数据。 我对第一个元素使用列表理解,并将其与第二个元素连接起来。在
它是动态的,可以用于n个列,但列表元素和数据帧行必须相同。在
注意:使用zip方法时,两个rdd分区计数必须相同,否则将出现错误
您可以
join
两个df,如下所示:df2将包含您希望添加到主df中的列。在
相关问题 更多 >
编程相关推荐