2017-09-14 38 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

相關問題