我有一个名为“df”的DataFrame,如下所示:

+-------+-------+-------+
|  Atr1 |  Atr2 |  Atr3 |
+-------+-------+-------+
|   A   |   A   |   A   |
+-------+-------+-------+
|   B   |   A   |   A   |
+-------+-------+-------+
|   C   |   A   |   A   |
+-------+-------+-------+

我想为其添加一个具有增量值的新列,并获取以下更新的DataFrame:
+-------+-------+-------+-------+
|  Atr1 |  Atr2 |  Atr3 |  Atr4 |
+-------+-------+-------+-------+
|   A   |   A   |   A   |   1   |
+-------+-------+-------+-------+
|   B   |   A   |   A   |   2   |
+-------+-------+-------+-------+
|   C   |   A   |   A   |   3   |
+-------+-------+-------+-------+

我怎么能得到它?

最佳答案

如果您只需要增量值(例如ID),如果没有数字必须为连续的约束,则需要,则可以使用monotonically_increasing_id()。使用此功能时,唯一的保证是每一行的值都会增加,但是,每次执行时它们自身的值可能会不同。

from pyspark.sql.functions import monotonically_increasing_id

df.withColumn("Atr4", monotonically_increasing_id())

关于python - 如何在带有增量值的Pyspark中的DataFrame中添加列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46213986/

10-10 21:39