我有这个代码:
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/