我实际上试图解决的问题是获取PySpark数据帧的前/后N行,并使结果成为数据帧。具体来说,我希望能够做这样的事情:
my_df.head(20).toPandas()
但是,由于head()
返回一个行列表,我得到了以下错误:
AttributeError: 'list' object has no attribute 'toPandas'
因此,我正在寻找将PySpark数据帧的前N行作为数据帧返回的方法,或者将这些行列表转换为数据帧的方法。有什么想法吗?
使用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