【发布时间】:2018-07-10 15:03:06
【问题描述】:
假设我有一个像这样的 PySpark 数据框:
1 0 1 0
0 0 1 1
0 1 0 1
如何将一行的最后一列和下一列附加到当前行,如下所示:
1 0 1 0 0 0 0 0 0 0 1 1
0 0 1 1 1 0 1 0 0 1 0 1
0 1 0 1 0 0 1 1 0 0 0 0
我熟悉用于添加列的.withColumn() 方法,但不确定我会在该字段中输入什么。
"0 0 0 0" 是占位符值,因为在这些行之前和之后没有之前或之后的行。
【问题讨论】:
-
你能举一个更真实的例子吗?一般来说,将
a、1和!放在一个列中并不是一个好主意,其他列也是如此。话虽如此,withColumn、lead和lag应该可以满足您的需求。 -
我相信您可以在我的示例中想象更真实的占位符。我只是为了便于区分而把它们放在一起。
-
您的示例令人困惑。
a, b, c, d是列名吗?0 0 0 0来自哪里?见how to create good reproducible apache spark dataframe examples@Chris。 -
@pault 好的,我将更改示例。 “0 0 0 0”是占位符值,因为在这些行之前和之后没有之前或之后的行。
标签: python apache-spark dataframe pyspark apache-spark-sql