Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何在Pyspark的熊猫中使用iloc获得相同的结果?_Apache Spark_Pyspark_Apache Spark Sql_Pyspark Dataframes - Fatal编程技术网

Apache spark 如何在Pyspark的熊猫中使用iloc获得相同的结果?

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

在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(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
给我一个空数据集。为什么?