PySpark - 将行列表转换为数据帧

时间:2016-05-01 16:31:17

标签: python apache-spark pyspark pyspark-sql

实际试图解决的问题是获取PySpark数据帧的前N行或后N行,并将结果作为数据帧。具体来说,我希望能够做到这样的事情:

 my_df.head(20).toPandas()

但是,因为head()返回行列表,我收到此错误:

AttributeError: 'list' object has no attribute 'toPandas'

所以,我正在寻找能够将前N行PySpark数据帧作为数据帧返回的方法,或者将这些行列表转换为数据帧的方法。有什么想法吗?

1 个答案:

答案 0 :(得分:9)

使用limit

>>> df = sc.parallelize((("a", 1), ("b", 2))).toDF()
>>> df.limit(1).toPandas()
  _1  _2
0  a   1

pd.DataFrame

>>> pd.DataFrame(df.head(1), columns=df.columns)
  _1  _2
0  a   1