5
zipwithindex的equivelant假設我有以下數據框:星火:在數據幀
dummy_data = [('a',1),('b',25),('c',3),('d',8),('e',1)]
df = sc.parallelize(dummy_data).toDF(['letter','number'])
,我想創建以下數據框:
[('a',0),('b',2),('c',1),('d',3),('e',0)]
我要做的就是將其轉換爲rdd
並使用zipWithIndex
功能並加入結果後:
convertDF = (df.select('number')
.distinct()
.rdd
.zipWithIndex()
.map(lambda x:(x[0].number,x[1]))
.toDF(['old','new']))
finalDF = (df
.join(convertDF,df.number == convertDF.old)
.select(df.letter,convertDF.new))
是否在數據框中有與zipWIthIndex
類似的功能?是否有另一種更有效的方法來完成這項任務?
http://stackoverflow.com/q/32760888/1560062 – zero323