List 如何基于行号列表拆分pyspark数据帧的行?
我创建了一个pyspark数据框,它的形象如下:-List 如何基于行号列表拆分pyspark数据帧的行?,list,sorting,pyspark,apache-spark-sql,List,Sorting,Pyspark,Apache Spark Sql,我创建了一个pyspark数据框,它的形象如下:- >>df f1 | f2 |……|fn |行数 ------------------------------ 10 | 50 | ... |100 | 1 20 | 50 | ... |200 | 2 30 | 50 | ... |300 | 3 40 | 50 | ... |400 | 4 50 | 50 | ... |500 | 5 然后,我还创建了随机的行号列表,如下所示:- my_list=[[2,5]、
>>df
f1 | f2 |……|fn |行数
------------------------------
10 | 50 | ... |100 | 1
20 | 50 | ... |200 | 2
30 | 50 | ... |300 | 3
40 | 50 | ... |400 | 4
50 | 50 | ... |500 | 5
然后,我还创建了随机的行号列表,如下所示:-
my_list=[[2,5]、[4,1,3]]
根据此列表的结构,我希望创建pyspark数据帧,如下所示:-
>>split_df[0]
f1 | f2 |……|fn |行数
------------------------------
20 | 50 | ... |200 | 2
50 | 50 | ... |500 | 5
>>>拆分_df[1]
f1 | f2 |……|fn |行数
------------------------------
40 | 50 | ... |400 | 4
10 | 50 | ... |100 | 1
30 | 50 | ... |300 | 3
如何根据行号的my_列表
拆分我的df
我不希望使用
df.RandomSplit()
方法。似乎您希望根据my\u list
的值将数据帧拆分为一个列表
您可以在列表中使用pyspark.sql.Column.isin
:
从pyspark.sql.functions导入col
split_df=[df.where(col('row_num').isin(x))表示我的_列表中的x]
您似乎希望根据my\u list
的值将数据帧拆分为一个列表
您可以在列表中使用pyspark.sql.Column.isin
:
从pyspark.sql.functions导入col
split_df=[df.where(col('row_num').isin(x))表示我的_列表中的x]