gpt4 book ai didi

apache-spark - Pyspark 数据框中的重复行

转载 作者:行者123 更新时间:2023-12-04 05:30:36 25 4
gpt4 key购买 nike

假设我有一个数据框:

df = sqlContext.createDataFrame(
[(1, 10, 21.0, 0), (3, 14, -23.0, 1)], ("x1", "x2", "x3", "x4"))

df.show()

## +---+---+-----+---+
## | x1| x2| x3| x4|
## +---+---+-----+---+
## | 1| 10| 23.0| 5|
## | 3| 14|-23.0| 0|
## +---+---+-----+---+

“复制”行和设置 x4=1 的有效方法是什么?在这些重复项中,并具有:

## +---+---+-----+---+
## | x1| x2| x3| x4|
## +---+---+-----+---+
## | 1| 10| 23.0| 5|
## | 1| 10| 23.0| 1|
## | 3| 14|-23.0| 0|
## | 3| 14|-23.0| 1|
## +---+---+-----+---+

在 Apache PIG 中,模拟很简单:执行 foreach 并生成:

FLATTEN(TOBAG(1, x4)) AS x4

谢谢你们

最佳答案

pyspark.sql.functions 导入所需的函数:

from pyspark.sql.functions import array, explode, lit

并替换现有列:
df.withColumn("x4", explode(array(lit(1), df["x4"])))

关于apache-spark - Pyspark 数据框中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40157678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com