2017-09-14 63 views
1

我有一个名为“DF”像数据框以下:我怎样才能添加一列到Pyspark中的DataFrame增量值?

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

我想一个新列添加到它与增量值,并得到下面的更新数据框:

+-------+-------+-------+-------+ 
| Atr1 | Atr2 | Atr3 | Atr4 | 
+-------+-------+-------+-------+ 
| A | A | A | 1 | 
+-------+-------+-------+-------+ 
| B | A | A | 2 | 
+-------+-------+-------+-------+ 
| C | A | A | 3 | 
+-------+-------+-------+-------+ 

我怎么能得到它?

回答

2

如果您只需要增量值(如ID)并且没有任何数字需要连续的限制,则可以使用monotonically_increasing_id()。使用此函数的唯一保证是每行的值都会增加,但是,它们本身的值可能会影响每次执行。

from pyspark.sql.functions import monotonically_increasing_id 

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

谢谢!好的解决方案 – jartymcfly

相关问题