Apache spark 如何在Pyspark的熊猫中使用iloc获得相同的结果?
在pandas dataframe中,我可以使用Apache spark 如何在Pyspark的熊猫中使用iloc获得相同的结果?,apache-spark,pyspark,apache-spark-sql,pyspark-dataframes,Apache Spark,Pyspark,Apache Spark Sql,Pyspark Dataframes,在pandas dataframe中,我可以使用data.iloc[1:1000,:]获得前1000行。如何在pyspark中执行相同的操作?您可以使用df.limit(1000)从数据帧中获取1000行。请注意,Spark没有索引的概念,因此它只返回1000个随机行。如果需要特定的排序,可以基于特定列指定行号,并过滤行号。e、 g import pyspark.sql.functions as F df2 = df.withColumn('rn', F.row_number().over(W
data.iloc[1:1000,:]
获得前1000行。如何在pyspark中执行相同的操作?您可以使用df.limit(1000)
从数据帧中获取1000行。请注意,Spark没有索引的概念,因此它只返回1000个随机行。如果需要特定的排序,可以基于特定列指定行号,并过滤行号。e、 g
import pyspark.sql.functions as F
df2 = df.withColumn('rn', F.row_number().over(Window.orderBy('col_to_order'))) \
.filter('rn <= 1000')
导入pyspark.sql.F函数
df2=df.withColumn('rn',F.row_number()。在(Window.orderBy('col_to_order'))上方)\
.filter('rn我想把它放在一个for循环中。并在较小的部分使用整个数据。我认为您正在尝试拆分数据帧。在这种情况下,您可以尝试dfs=df.randomspilt([0.5,0.5])
,这会给您一个拆分数据帧的列表。您可以更改列表中的数字,例如,如果您想要拆分4个数据帧,您可以使用[0.25,0.25,0.25,0.25]
我应该这样写:df1,df2=df.randomspilt([0.5,0.5])
?你可以只写dfs=…
并使用df[0],df[1]
等访问拆分的数据帧。dfs
是一个数据帧列表。Transitions.randomspilt
给我一个空数据集。为什么?