如何在pyspark中对数据帧行进行排序

如何在pyspark中对数据帧行进行排序,pyspark,Pyspark,我有一个包含数字的两列的数据框,我需要对数据框按行排序,而不是按列排序。到处都有关于如何按列对数据帧进行排序的说明,但我找不到如何在pyspark中对数据帧的所有行进行排序 col1 col2 2 1 3 2 预期产量 col1 col2 1 2 2 3 您可能需要一些变通方法来产生所需的结果 下面是一个基于行对数据进行排序的示例 从数据帧中,可能需要首先创建索引 df = spark.createDataFrame([[

我有一个包含数字的两列的数据框,我需要对数据框按行排序,而不是按列排序。到处都有关于如何按列对数据帧进行排序的说明,但我找不到如何在pyspark中对数据帧的所有行进行排序

col1    col2

2        1

3        2
预期产量

col1   col2

1       2

2       3

您可能需要一些变通方法来产生所需的结果

下面是一个基于行对数据进行排序的示例

从数据帧中,可能需要首先创建索引

df = spark.createDataFrame([['index1',3,2,1], ['index2',2,1,3]], ['index', 'a', 'b', 'c']) 
columns = [i for i in df.columns if i != 'index'] 
df.show()

假设您希望根据行'index1'进行排序

row_to_sort = 'index1'
sorted_df = sort_row_df(row_to_sort)
sorted_df.show()

要根据行“index2”进行排序

row_to_sort = 'index2'
sorted_df = sort_row_df(row_to_sort)
sorted_df.show()


如果您想根据行对所有数据进行排序,我建议您只需转置所有数据,对其进行排序,然后再次转置。您可以参考

,您可能需要提供样本数据和所需结果。这将帮助您更新/完善您的问题。
row_to_sort = 'index2'
sorted_df = sort_row_df(row_to_sort)
sorted_df.show()