python - 从 spark 数据框中获取 n 行并传递给 toPandas()

标签 python apache-spark-sql

我有这个代码:

l = [('Alice', 1),('Jim',2),('Sandra',3)]
df = sqlContext.createDataFrame(l, ['name', 'age'])
df.withColumn('age2', df.age + 2).toPandas()

工作正常,做它需要的。假设我只想显示前 n 行,然后调用 toPandas() 来返回一个 pandas 数据帧。我该怎么做?我不能调用 take(n) 因为它不返回数据帧,因此我不能将它传递给 toPandas()

换一种说法,如何从数据帧中取出前 n 行并在结果数据帧上调用 toPandas() ?不能认为这很困难,但我想不通。

我使用的是 Spark 1.6.0。

最佳答案

你可以使用limit(n)函数:

l = [('Alice', 1),('Jim',2),('Sandra',3)]
df = sqlContext.createDataFrame(l, ['name', 'age'])
df.limit(2).withColumn('age2', df.age + 2).toPandas()

或者:

l = [('Alice', 1),('Jim',2),('Sandra',3)]
df = sqlContext.createDataFrame(l, ['name', 'age'])
df.withColumn('age2', df.age + 2).limit(2).toPandas()

关于python - 从 spark 数据框中获取 n 行并传递给 toPandas(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40537782/

相关文章:

javascript - 使用 Python 和 JavaScript 通过 Selenium 使 WebElement 可见

Scala:如何添加一个列,其中包含两个表之间更改的已更改字段的值

scala - 无法覆盖 Spark 2.x 中 CSV 文件的架构

apache-spark - 写入hdfs路径时出现错误java.io.IOException:无法重命名

python - 使用没有节点属性的 DGL GNN 对图进行分类

Python tkinter 输入提示

python - 如何在 Python 2.7 中使用函数注解

scala - Spark 2 选项数据集

scala - 如何加入二进制字段?

java - Java 开发者视角下的 Django