如何在Spark的Dataframe中使用现有列作为索引

时间:2019-05-30 17:13:11

标签: python pandas dataframe pyspark apache-spark-sql

我正在将python代码“翻译”为pyspark。我想使用现有的列作为数据框的索引。我是在python中使用pandas完成的。下面的一小段代码说明了我的工作。感谢您的帮助。

df.set_index('colx',drop=False,inplace=True)
# Ordena index
df.sort_index(inplace=True)

我希望结果是一个以'colx'作为索引的数据框。

2 个答案:

答案 0 :(得分:1)

将索引作为列添加到pyspark数据框并使用

rdd_df = df.rdd.zipWithIndex()
df_index = rdd_df.toDF()
#and extract the columns
df_index = df_index.withColumn('colA', df_index['_1'].getItem("'colA"))
df_index = df_index.withColumn('colB', df_index['_1'].getItem("'colB"))

答案 1 :(得分:0)

这与Spark无关。没有这样的概念。

可以通过将DF转换为RDD并返回来将一列添加到RDD zipWithIndex中,但这是一个新列,因此不是一回事。